1. 16 May, 2019 1 commit
  2. 01 Jan, 2019 1 commit
  3. 04 Jul, 2018 1 commit
    • [multiple changes] · c518c102
      
      2018-07-04  Denys Vlasenko  <dvlasenk@redhat.com>
      	    Martin Liska  <mliska@suse.cz>
      
      	PR middle-end/66240
      	PR target/45996
      	PR c/84100
      	* common.opt: Rename align options with 'str_' prefix.
      	* common/config/i386/i386-common.c (set_malign_value): New
      	function.
      	(ix86_handle_option): Use it to set -falign-* options/
      	* config/aarch64/aarch64-protos.h (struct tune_params): Change
      	type from int to string.
      	* config/aarch64/aarch64.c: Update default values from int
      	to string.
      	* config/alpha/alpha.c (alpha_override_options_after_change):
      	Likewise.
      	* config/arm/arm.c (arm_override_options_after_change_1): Likewise.
      	* config/i386/dragonfly.h (ASM_OUTPUT_MAX_SKIP_ALIGN): Print
      	max skip conditionally.
      	* config/i386/freebsd.h (SUBALIGN_LOG): New.
      	(ASM_OUTPUT_MAX_SKIP_ALIGN): Print
      	max skip conditionally.
      	* config/i386/gas.h (ASM_OUTPUT_MAX_SKIP_ALIGN): Print
      	max skip conditionally.
      	* config/i386/gnu-user.h (SUBALIGN_LOG): New.
      	(ASM_OUTPUT_MAX_SKIP_ALIGN): Print
      	max skip conditionally.
      	* config/i386/i386.c (struct ptt): Change type from int to
      	string.
      	(ix86_default_align): Set default values.
      	* config/i386/i386.h (ASM_OUTPUT_MAX_SKIP_PAD): Print
      	max skip conditionally.
      	* config/i386/iamcu.h (SUBALIGN_LOG): New.
      	(ASM_OUTPUT_MAX_SKIP_ALIGN):
      	* config/i386/lynx.h (ASM_OUTPUT_MAX_SKIP_ALIGN):
      	* config/i386/netbsd-elf.h (ASM_OUTPUT_MAX_SKIP_ALIGN): Print
      	max skip conditionally.
      	* config/i386/openbsdelf.h (SUBALIGN_LOG): New.
      	(ASM_OUTPUT_MAX_SKIP_ALIGN) Print max skip conditionally.:
      	* config/i386/x86-64.h (SUBALIGN_LOG): New.
      	(ASM_OUTPUT_MAX_SKIP_ALIGN): Print
      	max skip conditionally.
      	(ASM_OUTPUT_MAX_SKIP_PAD): Likewise.
      	* config/ia64/ia64.c (ia64_option_override): Set default values
              for alignment options.
      	* config/m68k/m68k.c: Handle new str_align_* options.
      	* config/mips/mips.c (mips_set_compression_mode): Change
      	type of constants.
      	(mips_option_override): Set default values for options.
      	* config/powerpcspe/powerpcspe.c (rs6000_option_override_internal):
              Likewise.
      	* config/rs6000/rs6000.c (rs6000_option_override_internal):
      	Likewise.
      	* config/rx/rx.c (rx_option_override): Likewise.
      	* config/rx/rx.h (JUMP_ALIGN): Use align_jumps_log.
      	(LABEL_ALIGN): Use align_labels_log.
      	(LOOP_ALIGN): Use align_loops_align.
      	* config/s390/s390.c (s390_asm_output_function_label): Use new
              macros.
      	* config/sh/sh.c (sh_override_options_after_change):
      	Change type of constants.
      	* config/spu/spu.c (spu_sched_init): Likewise.
      	* config/sparc/sparc.c (sparc_option_override): Set default
              values for options.
      	* config/visium/visium.c (visium_option_override): Likewise.
      	* config/visium/visium.h (ASM_OUTPUT_MAX_SKIP_ALIGN): Do not
              emit p2align format with last argument if it's not needed.
      	* doc/invoke.texi: Document extended format of -falign-*.
      	* final.c: Use align_labels alignment.
      	* flags.h (struct target_flag_state): Change type to use
      	align_flags.
      	(struct align_flags_tuple): New.
      	(struct align_flags): Likewise.
      	(align_loops_log): Redefine macro to use new types.
      	(align_loops_max_skip): Redefine macro to use new types.
      	(align_jumps_log): Redefine macro to use new types.
      	(align_jumps_max_skip): Redefine macro to use new types.
      	(align_labels_log): Redefine macro to use new types.
      	(align_labels_max_skip): Redefine macro to use new types.
      	(align_functions_log): Redefine macro to use new types.
      	(align_loops): Redefine macro to use new types.
      	(align_jumps): Redefine macro to use new types.
      	(align_labels): Redefine macro to use new types.
      	(align_functions): Redefine macro to use new types.
      	(align_functions_max_skip): Redefine macro to use new types.
      	(align_loops_value): New macro.
      	(align_jumps_value): New macro.
      	(align_labels_value): New macro.
      	(align_functions_value): New macro.
      	* function.c (invoke_set_current_function_hook): Propagate
      	alignment values from flags to global variables default in
      	topleev.h.
      	* ipa-icf.c (sem_function::equals_wpa): Use
      	cl_optimization_option_eq instead of memcmp.
      	* lto-streamer.h (cl_optimization_stream_out): Support streaming
      	of string types.
      	(cl_optimization_stream_in): Likewise.
      	* optc-save-gen.awk: Support strings in cl_optimization.
      	* opth-gen.awk: Likewise.
      	* opts.c (finish_options): Remove error checking of invalid
      	value ranges.
      	(MAX_CODE_ALIGN): Remove.
      	(MAX_CODE_ALIGN_VALUE): Likewise.
      	(parse_and_check_align_values): New function.
      	(check_alignment_argument): Likewise.
      	(common_handle_option): Use check_alignment_argument.
      	* opts.h (parse_and_check_align_values): Declare.
      	* toplev.c (init_alignments): Remove.
      	(read_log_maxskip): New.
      	(parse_N_M): Likewise.
      	(parse_alignment_opts): Likewise.
      	(backend_init_target): Remove usage of init_alignments.
      	* toplev.h (parse_alignment_opts): Declare.
      	* tree-streamer-in.c (streamer_read_tree_bitfields): Add new
      	argument.
      	* tree-streamer-out.c (streamer_write_tree_bitfields): Likewise.
      	* tree.c (cl_option_hasher::equal): New.
      	* varasm.c: Use new global macros.
      2018-07-04  Martin Liska  <mliska@suse.cz>
      
      	PR middle-end/66240
      	PR target/45996
      	PR c/84100
      	* lto.c (compare_tree_sccs_1): Use cl_optimization_option_eq
      	instead of memcmp.
      2018-07-04  Martin Liska  <mliska@suse.cz>
      
      	PR middle-end/66240
      	PR target/45996
      	PR c/84100
      	* gcc.dg/pr84100.c (foo):
      	* gcc.target/i386/falign-functions-2.c: New test.
      	* gcc.target/i386/falign-functions.c: New test.
      
      From-SVN: r262375
      Martin Liska committed
  4. 13 Jun, 2018 1 commit
    • cgraph.c (cgraph_node::get_untransformed_body): Dump function bodies streamed in with -Q. · b4da704c
      	* cgraph.c (cgraph_node::get_untransformed_body): Dump function
      	bodies streamed in with -Q.
      	* dumpfile.c (dump_files): Add lto-stream-out dump file.
      	* dumpfile.h (tree_dump_index): Add lto_stream_out.
      	* gimple-streamer-out.c: Include gimple-pretty-print.h
      	(output_bb): Dump stmts streamed.
      	* lto-section-out.c: Include print-tree.h
      	(lto_begin_section): Dump sections created.
      	(lto_output_decl_index): Dump decl encoded.
      	* lto-streamer-out.c: Include print-tree.h
      	(create_output_block): Dump output block created.
      	(DFS::DFS_write_tree_body): Dump DFS SCCs streamed.
      	(output_function): Dump function output.
      	(output_constructor): Dump constructor streamed.
      	(write_global_stream): Output indexes encoded.
      	(produce_asm_for_decls): Dump streams encoded.
      	* lto-streamer.c (streamer_dump_file): New global var.
      	* lto-streamer.h (streamer_dump_file): Declare.
      	* passes.c (ipa_write_summaries): Initialize streamer dump.
      	* varpool.c (varpool_node::get_constructor): Dump constructors streamed
      	in.
      
      From-SVN: r261546
      Jan Hubicka committed
  5. 05 Jun, 2018 1 commit
    • Simplify gcov_histogram as it's used only for ARCS counters. · 7f3577f5
      2018-06-05  Martin Liska  <mliska@suse.cz>
      
      	* auto-profile.c (read_autofdo_file): Do not use
      	gcov_ctr_summary struct.
      	(afdo_callsite_hot_enough_for_early_inline): Likewise.
      	* coverage.c (struct counts_entry): Likewise.
      	(read_counts_file): Read just single summary entry.
      	(get_coverage_counts): Use gcov_summary struct.
      	* coverage.h (get_coverage_counts): Likewise.
      	* gcov-dump.c (dump_working_sets): Likewise.
      	(tag_summary): Dump just single summary.
      	* gcov-io.c (gcov_write_summary): Write just histogram
      	summary.
      	(gcov_read_summary): Read just single summary.
      	(compute_working_sets): Use gcov_summary struct.
      	* gcov-io.h (GCOV_TAG_SUMMARY_LENGTH): Remove usage
      	of GCOV_COUNTERS_SUMMABLE.
      	(GCOV_COUNTERS_SUMMABLE): Remove.
      	(GCOV_FIRST_VALUE_COUNTER): Replace with
      	GCOV_COUNTER_V_INTERVAL.
      	(struct gcov_ctr_summary): Remove.
      	(struct gcov_summary): Directly use fields of former
      	gcov_ctr_summary.
      	(compute_working_sets): Use gcov_summary struct.
      	* gcov.c (read_count_file): Do not use ctrs fields.
      	* lto-cgraph.c (merge_profile_summaries): Use gcov_summary
      	struct.
      	* lto-streamer.h (struct GTY): Make profile_info gcov_summary
      	struct.
      	* profile.c: Likewise.
      	* profile.h: Likewise.
      2018-06-05  Martin Liska  <mliska@suse.cz>
      
      	* libgcov-driver.c (gcov_compute_histogram): Remove usage
      	of gcov_ctr_summary.
      	(compute_summary): Do it just for a single summary.
      	(merge_one_data): Likewise.
      	(merge_summary): Simplify as we read just single summary.
      	(dump_one_gcov): Pass proper argument.
      	* libgcov-util.c (compute_one_gcov): Simplify as we have just
      	single summary.
      	(gcov_info_count_all_cold): Likewise.
      	(calculate_overlap): Likewise.
      
      From-SVN: r261189
      Martin Liska committed
  6. 25 Apr, 2018 1 commit
  7. 03 Jan, 2018 1 commit
  8. 21 Aug, 2017 1 commit
    • re PR go/78628 (GO fails to build a translation unit decl) · 1ea85365
      2017-08-21  Richard Biener  <rguenther@suse.de>
      
      	include/
      	* simple-object.h (simple_object_copy_lto_debug_sections): New
      	function.
      
      	libiberty/
      	* simple-object-common.h (struct simple_object_functions): Add
      	copy_lto_debug_sections hook.
      	* simple-object.c: Include fcntl.h.
      	(handle_lto_debug_sections): New helper function.
      	(simple_object_copy_lto_debug_sections): New function copying
      	early LTO debug sections to regular debug sections in a new file.
      	(simple_object_start_write): Handle NULL segment_name.
      	* simple-object-coff.c (simple_object_coff_functions): Adjust
      	for not implemented copy_lto_debug_sections hook.
      	* simple-object-mach-o.c (simple_object_mach_o_functions): Likewise.
      	* simple-object-xcoff.c (simple_object_xcoff_functions): Likewise.
      	* simple-object-elf.c (SHT_NULL, SHT_SYMTAB, SHT_RELA, SHT_REL,
      	SHT_GROUP): Add various sectopn header types.
      	(SHF_EXCLUDE): Add flag.
      	(Elf32_External_Sym, Elf64_External_Sym): Add symbol struct.
      	(ELF_ST_BIND, ELF_ST_TYPE, ELF_ST_INFO): Add accessors.
      	(STT_OBJECT, STT_FUNC, STT_TLS, STT_GNU_IFUNC): Add Symbol types.
      	(STV_DEFAULT): Add symbol visibility.
      	(SHN_COMMON): Add special section index name.
      	(struct simple_object_elf_write): New.
      	(simple_object_elf_start_write): Adjust for new private data.
      	(simple_object_elf_write_shdr): Pass in values for all fields
      	we write.
      	(simple_object_elf_write_to_file): Adjust.  Copy from recorded
      	section headers if requested.
      	(simple_object_elf_release_write): Release private data.
      	(simple_object_elf_copy_lto_debug_sections): Copy and rename sections
      	as denoted by PFN and all their dependences, symbols and relocations
      	to the empty destination file.
      	(simple_object_elf_functions): Adjust for copy_lto_debug_sections hook.
      
              gcc/
              * debug.h (struct gcc_debug_hooks): Add die_ref_for_decl and
              register_external_die hooks.
              (debug_false_tree_charstarstar_uhwistar): Declare.
              (debug_nothing_tree_charstar_uhwi): Likewise.
              * debug.c (do_nothing_debug_hooks): Adjust.
              (debug_false_tree_charstarstar_uhwistar): New do nothing.
              (debug_nothing_tree_charstar_uhwi): Likewise.
              * dbxout.c (dbx_debug_hooks): Adjust.
              (xcoff_debug_hooks): Likewise.
              * sdbout.c (sdb_debug_hooks): Likewise.
              * vmsdbgout.c (vmsdbg_debug_hooks): Likewise.
              * dwarf2out.c (macinfo_label_base): New global.
      	(dwarf2out_register_external_die): New function for the
      	register_external_die hook.
              (dwarf2out_die_ref_for_decl): Likewise for die_ref_for_decl.
              (dwarf2_debug_hooks): Use them.
              (dwarf2_lineno_debug_hooks): Adjust.
              (struct die_struct): Add with_offset flag.
              (DEBUG_LTO_DWO_INFO_SECTION, DEBUG_LTO_INFO_SECTION,
              DEBUG_LTO_DWO_ABBREV_SECTION, DEBUG_LTO_ABBREV_SECTION,
              DEBUG_LTO_DWO_MACINFO_SECTION, DEBUG_LTO_MACINFO_SECTION,
              DEBUG_LTO_DWO_MACRO_SECTION, DEBUG_LTO_MACRO_SECTION,
              DEBUG_LTO_LINE_SECTION, DEBUG_LTO_DWO_STR_OFFSETS_SECTION,
              DEBUG_LTO_STR_DWO_SECTION, DEBUG_STR_LTO_SECTION): New macros
              defining section names for the early LTO debug variants.
      	(reset_indirect_string): New helper.
              (add_AT_external_die_ref): Helper for dwarf2out_register_external_die.
              (print_dw_val): Add support for offsetted symbol references.
      	(get_ultimate_context): Split out from is_cxx.
      	(is_cxx): Use get_ultimate_context.
      	(is_fortran): Add decl overload.
              (compute_comp_unit_symbol): Split out worker from
      	compute_section_prefix.
              (compute_section_prefix): Call compute_comp_unit_symbol and
      	set comdat_type_p here.
              (output_die): Skip DIE symbol output for the LTO added one.
              Handle DIE symbol references with offset.
              (output_comp_unit): Guard section name mangling properly.
              For LTO debug sections emit a symbol at the section beginning
              which we use to refer to its DIEs.
              (add_abstract_origin_attribute): For DIEs registered via
              dwarf2out_register_external_die directly refer to the early
              DIE rather than indirectly through the shadow one we created.
      	Remove obsolete call to dwarf2out_abstract_function for
      	non-function/block origins.
              (gen_array_type_die): When generating early LTO debug do
              not emit DW_AT_string_length.
              (gen_formal_parameter_die): Do not re-create DIEs for PARM_DECLs
              late when in LTO.  As suggested place a gcc_unreachable for
      	the DECL_ABSTRACT_P case.
              (gen_subprogram_die): Avoid another specification DIE
              for early built declarations/definitions for the late LTO case.
              (gen_variable_die): Add type references for late duplicated VLA dies
              when in late LTO.
              (gen_inlined_subroutine_die): Do not call dwarf2out_abstract_function,
              we have the abstract instance already.
              (process_scope_var): Adjust decl DIE contexts in LTO which
              first puts them in limbo.
              (gen_decl_die): Do not generate type DIEs late apart from
              types for VLAs or for decls we do not yet have a DIE.  Do not
      	call dwarf2out_abstract_function late.
              (dwarf2out_early_global_decl): Make sure to create DIEs
              for abstract instances of a decl first.
              (dwarf2out_late_global_decl): Adjust comment.
              (output_macinfo_op): With multiple macro sections use
      	macinfo_label_base to distinguish labels.
              (output_macinfo): Likewise.  Update macinfo_label_base.
      	Pass in the line info label.
      	(note_variable_value_in_expr): When generating LTO resolve
      	all variable values here by generating DIEs as needed.
              (init_sections_and_labels): Add early LTO debug flag parameter
              and generate different sections and names if set.  Add generation
              counter for the labels so we can have multiple of them.
              (reset_dies): Helper to allow DIEs to be output multiple times.
              (dwarf2out_finish): When outputting DIEs to the fat part of an
      	LTO object first reset DIEs.
              (dwarf2out_early_finish): Output early DIEs when generating LTO.
      	(modified_type_die): Check for decl_ultimate_origin being self
      	before recursing.
      	(gen_type_die_with_usage): Likewise.
      	(gen_typedef_die): Allow decl_ultimate_origin being self.
              (set_decl_abstract_flags): Remove.
              (set_block_abstract_flags): Likewise.
              (dwarf2out_abstract_function): Treat the early generated DIEs
              as the abstract copy and only add DW_AT_inline and
              DW_AT_artificial here and call set_decl_origin_self.
      	If the DIE has an abstract origin don't do anything.
      	* tree.c (free_lang_data): Build a dummy TRANSLATION_UNIT_DECL
      	if we have none yet (Go fails to build one, PR78628).
      	(variably_modified_type_p): Prevent endless recursion for Ada
      	cyclic pointer types.
              * lto-streamer-in.c: Include debug.h.
              (dref_queue): New global.
              (lto_read_tree_1): Stream in DIE references.
              (lto_input_tree): Register DIE references.
      	(input_function): Stream DECL_DEBUG_ARGS.
              * lto-streamer-out.c: Include debug.h.
              (lto_write_tree_1): Output DIE references.
              (DFS::DFS_write_tree_body): Follow DECL_ABSTRACT_ORIGIN.
      	Force a TRANSLATION_UNIT_DECL DECL_CONTEXT for file-scope decls.
      	(output_function): Stream DECL_DEBUG_ARGS.
              * tree-streamer-in.c (lto_input_ts_decl_common_tree_pointers):
              Stream DECL_ABSTRACT_ORIGIN.
              * tree-streamer-out.c (write_ts_decl_common_tree_pointers): Likewise.
      	(write_ts_decl_minimal_tree_pointers): Force a TRANSLATION_UNIT_DECL
      	DECL_CONTEXT for file-scope decls.
              * lto-streamer.h (struct dref_entry): Declare.
              (dref_queue): Likewise.
      	* cfgexpand.c (pass_expand::execute): Do not call the
      	outlining_inline_function hook here.
              * lto-wrapper.c (debug_obj): New global.
              (tool_cleanup): Unlink it if required.
              (debug_objcopy): New function.
              (run_gcc): Handle early debug sections in the IL files by
              extracting them to separate files, partially linkin them and
              feeding the result back as result to the linker.
      
              * config/darwin.h (DEBUG_LTO_INFO_SECTION, DEBUG_LTO_ABBREV_SECTION,
              DEBUG_LTO_MACINFO_SECTION, DEBUG_LTO_LINE_SECTION,
              DEBUG_STR_LTO_SECTION, DEBUG_LTO_MACRO_SECTION): Put early debug
              sections into a separate segment.
              * config/darwin.c (darwin_asm_named_section): Handle __GNU_DWARF_LTO
              segments.
              (darwin_asm_dwarf_section): Likewise.
              (darwin_asm_output_dwarf_offset): Likewise.
      
      	* config/i386/i386.c (make_resolver_func): Set DECL_IGNORED_P.
      
              lto/
              * lto.c (unify_scc): Truncate DIE reference queue for dropped SCCs.
              (lto_read_decls): Process TRANSLATION_UNIT_DECLs.  Remove
              TYPE_DECL debug processing, register DIE references from
              prevailing SCCs with the debug machinery.
              (lto_section_with_id): Handle LTO debug sections.
      
      	libstdc++/
      	* testsuite/libstdc++-prettyprinters/prettyprinters.exp: Run all
      	tests with -flto as well if supported.
      
              testsuite/
      	* c-c++-common/asan/global-overflow-1.c: Adjust diagnostic location
      	regex to handle the LTO case.
      	* c-c++-common/asan/heap-overflow-1.c: Likewise.
      	* c-c++-common/asan/misalign-1.c: Likewise.
      	* c-c++-common/asan/misalign-2.c: Likewise.
      	* c-c++-common/asan/null-deref-1.c: Likewise.
      	* c-c++-common/asan/stack-overflow-1.c: Likewise.
      	* c-c++-common/asan/strncpy-overflow-1.c: Likewise.
      	* c-c++-common/asan/use-after-free-1.c: Likewise.
      	* c-c++-common/asan/alloca_big_alignment.c: Likewise.
      	* c-c++-common/asan/alloca_detect_custom_size.c: Likewise.
      	* c-c++-common/asan/alloca_overflow_partial.c: Likewise.
      	* c-c++-common/asan/alloca_overflow_right.c: Likewise.
      	* c-c++-common/asan/alloca_underflow_left.c: Likewise.
      	* g++.dg/asan/large-func-test-1.C: Likewise.
      	* gfortran.dg/save_6.f90: Add -flto -g variant of save_5.f90.
      
      From-SVN: r251220
      Richard Biener committed
  9. 23 May, 2017 1 commit
    • ipa-inline-analysis.c (cgraph_2edge_hook_list, [...]): Remove. · 0bceb671
      	* ipa-inline-analysis.c (cgraph_2edge_hook_list, cgraph_edge_hook_list,
      	inline_edge_removal_hook, inline_edge_duplication_hook): Remove.
      	(inline_edge_summary_vec): Turn into ...
      	(ipa_call_summaries): ... this one.
      	(redirect_to_unreachable, edge_set_predicate,
      	evaluate_properties_for_edge, inline_summary_alloc,
      	reset_ipa_call_summary, reset_inline_summary,
      	inline_summary_t::duplicate): Update.
      	(inline_edge_duplication_hook): Turn to ...
      	(ipa_call_summary_t::duplicate): ... this one.
      	(inline_edge_removal_hook): Turn to ...
      	(ipa_call_summary_t::remove): ... this one.
      	(dump_inline_edge_summary): Turn to ...
      	(dump_ipa_call_summary): ... this one.
      	(estimate_function_body_sizes): Update.
      	(inline_update_callee_summaries): Update.
      	(remap_edge_change_prob): Update.
      	(remap_edge_summaries): Update.
      	(inline_merge_summary): Update.
      	(do_estimate_edge_time): Update.
      	(inline_generate_summary): Update.
      	(inline_read_section): Update.
      	(inline_read_summary): Update.
      	(inline_free_summary): Update.
      	* ipa-inline.c (can_inline_edge_p): Update.
      	(compute_inlined_call_time): Update.
      	(want_inline_small_function_p): Update.
      	(edge_badness): Update.
      	(early_inliner): Update.
      	* ipa-inline.h (inline_edge_summary): Turn to ...
      	(ipa_call_summary): ... this one.
      	(ipa_call_summary_t): New class.
      	(inline_edge_summary_t, inline_edge_summary_vec): Remove.
      	(ipa_call_summaries): New.
      	(inline_edge_summary): Remove.
      	(estimate_edge_growth): Update.
      	* ipa-profile.c (ipa_propagate_frequency_1): Update.
      	* ipa-prop.c (ipa_make_edge_direct_to_target): Update.
      	* ipa-split.c (execute_split_functions): Update.
      	* ipa.c (symbol_table::remove_unreachable_nodes): Update.
      
      From-SVN: r248365
      Jan Hubicka committed
  10. 02 May, 2017 1 commit
    • Remove LTO_STREAMER_DEBUG (PR lto/79489). · c1a2a0b8
      2017-05-02  Martin Liska  <mliska@suse.cz>
      
      	PR lto/79489.
      	* lto-streamer-in.c (lto_read_tree_1): Remove
      	LTO_STREAMER_DEBUG.
      	* lto-streamer.c (struct tree_hash_entry): Likewise.
      	(struct tree_entry_hasher): Likewise.
      	(tree_entry_hasher::hash): Likewise.
      	(tree_entry_hasher::equal): Likewise.
      	(lto_streamer_init): Likewise.
      	(lto_orig_address_map): Likewise.
      	(lto_orig_address_get): Likewise.
      	(lto_orig_address_remove): Likewise.
      	* lto-streamer.h: Likewise.
      	* tree-streamer-in.c (streamer_alloc_tree): Likewise.
      	* tree-streamer-out.c (streamer_write_tree_header): Likewise.
      
      From-SVN: r247501
      Martin Liska committed
  11. 28 Apr, 2017 1 commit
  12. 01 Jan, 2017 1 commit
  13. 25 Jul, 2016 1 commit
    • cgraph.c (cgraph_node::verify_node): Compare against builtin by using… · ea6e17d5
      cgraph.c (cgraph_node::verify_node): Compare against builtin by using DECL_BUILT_IN_CLASS and DECL_FUNCTION_CODE.
      
      2016-07-25  Richard Biener  <rguenther@suse.de>
      
      	* cgraph.c (cgraph_node::verify_node): Compare against builtin
      	by using DECL_BUILT_IN_CLASS and DECL_FUNCTION_CODE.
      	* tree-chkp.c (chkp_gimple_call_builtin_p): Likewise.
      	* tree-streamer.h (streamer_handle_as_builtin_p): Remove.
      	(streamer_get_builtin_tree): Likewise.
      	(streamer_write_builtin): Likewise.
      	* lto-streamer.h (LTO_builtin_decl): Remove.
      	* lto-streamer-in.c (lto_read_tree_1): Remove assert.
      	(lto_input_scc): Remove LTO_builtin_decl handling.
      	(lto_input_tree_1): Liekwise.
      	* lto-streamer-out.c (lto_output_tree_1): Remove special
      	handling of builtins.
      	(DFS::DFS): Likewise.
      	* tree-streamer-in.c (streamer_get_builtin_tree): Remove.
      	* tree-streamer-out.c (pack_ts_function_decl_value_fields): Remove
      	assert.
      	(streamer_write_builtin): Remove.
      
      	lto/
      	* lto.c (compare_tree_sccs_1): Remove streamer_handle_as_builtin_p uses.
      	(unify_scc): Likewise.
      	(lto_read_decls): Likewise.
      
      From-SVN: r238709
      Richard Biener committed
  14. 19 May, 2016 1 commit
  15. 18 May, 2016 1 commit
  16. 15 Feb, 2016 1 commit
    • Don't mark offload symbols with force_output in ltrans · ed5d948d
      2016-02-15  Tom de Vries  <tom@codesourcery.com>
      
      	PR lto/69655
      	* lto-cgraph.c (input_offload_tables): Add and handle bool parameter
      	do_force_output.
      	* lto-streamer.h (input_offload_tables): Add and handle bool parameter.
      
      	* lto.c (read_cgraph_and_symbols): Call input_offload_tables with
      	argument.
      
      From-SVN: r233419
      Tom de Vries committed
  17. 19 Jan, 2016 1 commit
    • Merge of HSA · b2b40051
      2016-01-19  Martin Jambor  <mjambor@suse.cz>
      	    Martin Liska  <mliska@suse.cz>
      	    Michael Matz <matz@suse.de>
      
      libgomp/
      	* plugin/Makefrag.am: Add HSA plugin requirements.
      	* plugin/configfrag.ac (HSA_RUNTIME_INCLUDE): New variable.
      	(HSA_RUNTIME_LIB): Likewise.
      	(HSA_RUNTIME_CPPFLAGS): Likewise.
      	(HSA_RUNTIME_INCLUDE): New substitution.
      	(HSA_RUNTIME_LIB): Likewise.
      	(HSA_RUNTIME_LDFLAGS): Likewise.
      	(hsa-runtime): New configure option.
      	(hsa-runtime-include): Likewise.
      	(hsa-runtime-lib): Likewise.
      	(PLUGIN_HSA): New substitution variable.
      	Fill HSA_RUNTIME_INCLUDE and HSA_RUNTIME_LIB according to the new
      	configure options.
      	(PLUGIN_HSA_CPPFLAGS): Likewise.
      	(PLUGIN_HSA_LDFLAGS): Likewise.
      	(PLUGIN_HSA_LIBS): Likewise.
      	Check that we have access to HSA run-time.
      	* libgomp-plugin.h (offload_target_type): New element
      	OFFLOAD_TARGET_TYPE_HSA.
      	* libgomp.h (gomp_target_task): New fields firstprivate_copies and
      	args.
      	(bool gomp_create_target_task): Updated.
      	(gomp_device_descr): Extra parameter of run_func and async_run_func,
      	new field can_run_func.
      	* libgomp_g.h (GOMP_target_ext): Update prototype.
      	* oacc-host.c (host_run): Added a new parameter args.
      	* target.c (calculate_firstprivate_requirements): New function.
      	(copy_firstprivate_data): Likewise.
      	(gomp_target_fallback_firstprivate): Use them.
      	(gomp_target_unshare_firstprivate): New function.
      	(gomp_get_target_fn_addr): Allow returning NULL for shared memory
      	devices.
      	(GOMP_target): Do host fallback for all shared memory devices.  Do not
      	pass any args to plugins.
      	(GOMP_target_ext): Introduce device-specific argument parameter args.
      	Allow host fallback if device shares memory.  Do not remap data if
      	device has shared memory.
      	(gomp_target_task_fn): Likewise.  Also treat shared memory devices
      	like host fallback for mappings.
      	(GOMP_target_data): Treat shared memory devices like host fallback.
      	(GOMP_target_data_ext): Likewise.
      	(GOMP_target_update): Likewise.
      	(GOMP_target_update_ext): Likewise.  Also pass NULL as args to
      	gomp_create_target_task.
      	(GOMP_target_enter_exit_data): Likewise.
      	(omp_target_alloc): Treat shared memory devices like host fallback.
      	(omp_target_free): Likewise.
      	(omp_target_is_present): Likewise.
      	(omp_target_memcpy): Likewise.
      	(omp_target_memcpy_rect): Likewise.
      	(omp_target_associate_ptr): Likewise.
      	(gomp_load_plugin_for_device): Also load can_run.
      	* task.c (GOMP_PLUGIN_target_task_completion): Free
      	firstprivate_copies.
      	(gomp_create_target_task): Accept new argument args and store it to
      	ttask.
      	* plugin/plugin-hsa.c: New file.
      
      gcc/
      	* Makefile.in (OBJS): Add new source files.
      	(GTFILES): Add hsa.c.
      	* common.opt (disable_hsa): New variable.
      	(-Whsa): New warning.
      	* config.in (ENABLE_HSA): New.
      	* configure.ac: Treat hsa differently from other accelerators.
      	(OFFLOAD_TARGETS): Define ENABLE_OFFLOADING according to
      	$enable_offloading.
      	(ENABLE_HSA): Define ENABLE_HSA according to $enable_hsa.
      	* doc/install.texi (Configuration): Document --with-hsa-runtime,
      	--with-hsa-runtime-include, --with-hsa-runtime-lib and
      	--with-hsa-kmt-lib.
      	* doc/invoke.texi (-Whsa): Document.
      	(hsa-gen-debug-stores): Likewise.
      	* lto-wrapper.c (compile_images_for_offload_targets): Do not attempt
      	to invoke offload compiler for hsa acclerator.
      	* opts.c (common_handle_option): Determine whether HSA offloading
      	should be performed.
      	* params.def (PARAM_HSA_GEN_DEBUG_STORES): New parameter.
      	* builtin-types.def (BT_FN_VOID_UINT_PTR_INT_PTR): New.
      	(BT_FN_VOID_INT_OMPFN_SIZE_PTR_PTR_PTR_UINT_PTR_INT_INT): Removed.
      	(BT_FN_VOID_INT_OMPFN_SIZE_PTR_PTR_PTR_UINT_PTR_PTR): New.
      	* gimple-low.c (lower_stmt): Also handle GIMPLE_OMP_GRID_BODY.
      	* gimple-pretty-print.c (dump_gimple_omp_for): Also handle
      	GF_OMP_FOR_KIND_GRID_LOOP.
      	(dump_gimple_omp_block): Also handle GIMPLE_OMP_GRID_BODY.
      	(pp_gimple_stmt_1): Likewise.
      	* gimple-walk.c (walk_gimple_stmt): Likewise.
      	* gimple.c (gimple_build_omp_grid_body): New function.
      	(gimple_copy): Also handle GIMPLE_OMP_GRID_BODY.
      	* gimple.def (GIMPLE_OMP_GRID_BODY): New.
      	* gimple.h (enum gf_mask): Added GF_OMP_PARALLEL_GRID_PHONY,
      	GF_OMP_FOR_KIND_GRID_LOOP, GF_OMP_FOR_GRID_PHONY and
      	GF_OMP_TEAMS_GRID_PHONY.
      	(gimple_statement_omp_single_layout): Updated comments.
      	(gimple_build_omp_grid_body): New function.
      	(gimple_has_substatements): Also handle GIMPLE_OMP_GRID_BODY.
      	(gimple_omp_for_grid_phony): New function.
      	(gimple_omp_for_set_grid_phony): Likewise.
      	(gimple_omp_parallel_grid_phony): Likewise.
      	(gimple_omp_parallel_set_grid_phony): Likewise.
      	(gimple_omp_teams_grid_phony): Likewise.
      	(gimple_omp_teams_set_grid_phony): Likewise.
      	(gimple_return_set_retbnd): Also handle GIMPLE_OMP_GRID_BODY.
      	* omp-builtins.def (BUILT_IN_GOMP_OFFLOAD_REGISTER): New.
      	(BUILT_IN_GOMP_OFFLOAD_UNREGISTER): Likewise.
      	(BUILT_IN_GOMP_TARGET): Updated type.
      	* omp-low.c: Include symbol-summary.h, hsa.h and params.h.
      	(adjust_for_condition): New function.
      	(get_omp_for_step_from_incr): Likewise.
      	(extract_omp_for_data): Moved parts to adjust_for_condition and
      	get_omp_for_step_from_incr.
      	(build_outer_var_ref): Handle GIMPLE_OMP_GRID_BODY.
      	(fixup_child_record_type): Bail out if receiver_decl is NULL.
      	(scan_sharing_clauses): Handle OMP_CLAUSE__GRIDDIM_.
      	(scan_omp_parallel): Do not create child functions for phony
      	constructs.
      	(check_omp_nesting_restrictions): Handle GIMPLE_OMP_GRID_BODY.
      	(scan_omp_1_op): Checking assert we are not remapping to
      	ERROR_MARK.  Also also handle GIMPLE_OMP_GRID_BODY.
      	(parallel_needs_hsa_kernel_p): New function.
      	(expand_parallel_call): Register apprpriate parallel child
      	functions as HSA kernels.
      	(grid_launch_attributes_trees): New type.
      	(grid_attr_trees): New variable.
      	(grid_create_kernel_launch_attr_types): New function.
      	(grid_insert_store_range_dim): Likewise.
      	(grid_get_kernel_launch_attributes): Likewise.
      	(get_target_argument_identifier_1): Likewise.
      	(get_target_argument_identifier): Likewise.
      	(get_target_argument_value): Likewise.
      	(push_target_argument_according_to_value): Likewise.
      	(get_target_arguments): Likewise.
      	(expand_omp_target): Call get_target_arguments instead of looking
      	up for teams and thread limit.
      	(grid_expand_omp_for_loop): New function.
      	(grid_arg_decl_map): New type.
      	(grid_remap_kernel_arg_accesses): New function.
      	(grid_expand_target_kernel_body): New function.
      	(expand_omp): Call it.
      	(lower_omp_for): Do not emit phony constructs.
      	(lower_omp_taskreg): Do not emit phony constructs but create for them
      	a temporary variable receiver_decl.
      	(lower_omp_taskreg): Do not emit phony constructs.
      	(lower_omp_teams): Likewise.
      	(lower_omp_grid_body): New function.
      	(lower_omp_1): Call it.
      	(grid_reg_assignment_to_local_var_p): New function.
      	(grid_seq_only_contains_local_assignments): Likewise.
      	(grid_find_single_omp_among_assignments_1): Likewise.
      	(grid_find_single_omp_among_assignments): Likewise.
      	(grid_find_ungridifiable_statement): Likewise.
      	(grid_target_follows_gridifiable_pattern): Likewise.
      	(grid_remap_prebody_decls): Likewise.
      	(grid_copy_leading_local_assignments): Likewise.
      	(grid_process_kernel_body_copy): Likewise.
      	(grid_attempt_target_gridification): Likewise.
      	(grid_gridify_all_targets_stmt): Likewise.
      	(grid_gridify_all_targets): Likewise.
      	(execute_lower_omp): Call grid_gridify_all_targets.
      	(make_gimple_omp_edges): Handle GIMPLE_OMP_GRID_BODY.
      	* tree-core.h (omp_clause_code): Added OMP_CLAUSE__GRIDDIM_.
      	(tree_omp_clause): Added union field dimension.
      	* tree-pretty-print.c (dump_omp_clause): Handle OMP_CLAUSE__GRIDDIM_.
      	* tree.c (omp_clause_num_ops): Added number of arguments of
      	OMP_CLAUSE__GRIDDIM_.
      	(omp_clause_code_name): Added name of OMP_CLAUSE__GRIDDIM_.
      	(walk_tree_1): Handle OMP_CLAUSE__GRIDDIM_.
      	* tree.h (OMP_CLAUSE_GRIDDIM_DIMENSION): New.
      	(OMP_CLAUSE_SET_GRIDDIM_DIMENSION): Likewise.
      	(OMP_CLAUSE_GRIDDIM_SIZE): Likewise.
      	(OMP_CLAUSE_GRIDDIM_GROUP): Likewise.
      	* passes.def: Schedule pass_ipa_hsa and pass_gen_hsail.
      	* tree-pass.h (make_pass_gen_hsail): Declare.
      	(make_pass_ipa_hsa): Likewise.
      	* ipa-hsa.c: New file.
      	* lto-section-in.c (lto_section_name): Add hsa section name.
      	* lto-streamer.h (lto_section_type): Add hsa section.
      	* timevar.def (TV_IPA_HSA): New.
              * hsa-brig-format.h: New file.
      	* hsa-brig.c: New file.
      	* hsa-dump.c: Likewise.
      	* hsa-gen.c: Likewise.
      	* hsa.c: Likewise.
      	* hsa.h: Likewise.
      	* toplev.c (compile_file): Call hsa_output_brig.
      	* hsa-regalloc.c: New file.
      
      gcc/fortran/
      	* types.def (BT_FN_VOID_UINT_PTR_INT_PTR): New.
      	(BT_FN_VOID_INT_OMPFN_SIZE_PTR_PTR_PTR_UINT_PTR_INT_INT): Removed.
      	(BT_FN_VOID_INT_OMPFN_SIZE_PTR_PTR_PTR_UINT_PTR_PTR): New.
      
      gcc/lto/
      	* lto-partition.c: Include "hsa.h"
      	(add_symbol_to_partition_1): Put hsa implementations into the
      	same partition as host implementations.
      
      liboffloadmic/
      	* plugin/libgomp-plugin-intelmic.cpp (GOMP_OFFLOAD_async_run): New
      	unused parameter.
      	(GOMP_OFFLOAD_run): Likewise.
      
      include/
      	* gomp-constants.h (GOMP_DEVICE_HSA): New macro.
      	(GOMP_VERSION_HSA): Likewise.
      	(GOMP_TARGET_ARG_DEVICE_MASK): Likewise.
      	(GOMP_TARGET_ARG_DEVICE_ALL): Likewise.
      	(GOMP_TARGET_ARG_SUBSEQUENT_PARAM): Likewise.
      	(GOMP_TARGET_ARG_ID_MASK): Likewise.
      	(GOMP_TARGET_ARG_NUM_TEAMS): Likewise.
      	(GOMP_TARGET_ARG_THREAD_LIMIT): Likewise.
      	(GOMP_TARGET_ARG_VALUE_SHIFT): Likewise.
      	(GOMP_TARGET_ARG_HSA_KERNEL_ATTRIBUTES): Likewise.
      
      From-SVN: r232549
      Martin Jambor committed
  18. 04 Jan, 2016 1 commit
  19. 13 Dec, 2015 1 commit
    • cgraph.c (cgraph_node::get_untransformed_body): Pass compressed flag to lto_get_section_data. · ca834876
      	* cgraph.c (cgraph_node::get_untransformed_body): Pass compressed
      	flag to lto_get_section_data.
      	* varpool.c (varpool_node::get_constructor): Likewise.
      	* lto-section-in.c (lto_get_section_data): Add new flag decompress.
      	(lto_free_section_data): Likewise.
      	(lto_get_raw_section_data): New function.
      	(lto_free_raw_section_data): New function.
      	(copy_function_or_variable): Copy sections w/o decompressing.
      	(lto_output_decl_state_refs): Picke compressed bit.
      	* lto-streamer.h (lto_in_decl_state): New flag compressed.
      	(lto_out_decl_state): Likewise.
      	(lto_get_section_data, lto_free_section_data): Update prototypes
      	(lto_get_raw_section_data, lto_free_raw_section_data): Declare.
      	(lto_write_raw_data): Declare.
      	(lto_begin_section): Remove FIXME.
      	(lto_write_raw_data): New function.
      	(lto_write_stream): Remove FIXME.
      	(lto_new_out_decl_state): Set compressed flag.
      
      	* lto.c (lto_read_in_decl_state): Unpickle compressed bit.
      
      From-SVN: r231593
      Jan Hubicka committed
  20. 11 Dec, 2015 1 commit
  21. 09 Dec, 2015 1 commit
    • re PR lto/61886 (LTO breaks fread with _FORTIFY_SOURCE=2) · 6b9ac179
      
      	PR ipa/61886
      	* lto-streamer.h (lto_symtab_merge_decls, lto_symtab_merge_symbols,
      	lto_symtab_prevailing_decl): MOve to lto-symtab.h.
      	* lto-streamer-out.c (DFS::DFS_write_tree_body): Check that
      	DECL_ABSTRACT_ORIGIN is not error_mark_node.
      
      	* lto-symtab.c: Include lto-symtab.h.
      	(lto_cgraph_replace_node): Do not merge profiles here.
      	(lto_symtab_merge_p): New function.
      	(lto_symtab_merge_decls_2): Honor lto_symtab_merge_p.
      	(lto_symtab_merge_symbols_1): Turn unmerged decls into transparent
      	aliases.
      	(lto_symtab_merge_symbols): Do not clear node->aux; we no longer use it.
      	(lto_symtab_prevailing_decl): Move to lto-symtab.h; rewrite.
      	* lto.c: Include lto-symtab.h
      	* lto-symtab.h: New.
      
      From-SVN: r231438
      Jan Hubicka committed
  22. 15 Sep, 2015 1 commit
  23. 31 Aug, 2015 1 commit
    • lto-streamer.h (lto_location_cache::cached_location::sysp): Add. · 6c1bc27c
      2015-08-31  Richard Biener  <rguenther@suse.de>
      
      	* lto-streamer.h (lto_location_cache::cached_location::sysp): Add.
      	(lto_location_cache::current_sysp): Likewise.
      	(output_block::current_sysp): Likewise.
      	* lto-streamer-in.c (lto_location_cache::cmp_loc): Compare sysp.
      	(lto_location_cache::apply_location_cache): Properly record
      	system header locations.
      	(lto_location_cache::input_location): Input whether a file
      	is a system header.
      	* lto-streamer-out.c (lto_output_location): Stream whether a file
      	is a system header.
      
      From-SVN: r227338
      Richard Biener committed
  24. 09 Jul, 2015 1 commit
    • lto-streamer.h: Don't include target.h and alloc-pool.h. · f51ade33
      2015-07-09  Andrew MacLeod  <amacleod@redhat.com>
      
      	* lto-streamer.h: Don't include target.h and alloc-pool.h.
      	* builtins.c: Adjust includes.
      	* gimple.c: Likewise.
      	* ipa-icf.c: Likewise.
      	* lto-opts.c: Likewise.
      	* ipa-reference.c: Likewise.
      	* lto-section-out.c: Likewise.
      	* lto-streamer-in.c: Likewise.
      	* lto-streamer-out.c: Likewise.
      	* opts-global.c: Likewise.
      	* symtab.c: Likewise.
      	* tree-chkp.c: Likewise.
      	* tree-ssa-live.c: Likewise.
      	* tree-streamer-in.c: Likewise.
      	* tree-streamer-out.c: Likewise.
      	* config/darwin.c: Likewise.
      	* config/i386/winnt.c: Likewise.
      
      cp
      2015-07-09  Andrew MacLeod  <amacleod@redhat.com>
      
      	* cp-ubsan.c: Don't include alloc-pool.h or lto-streamer.h.
      
      lto
      2015-07-09  Andrew MacLeod  <amacleod@redhat.com>
      	* lto-lang.c: Adjust includes of target.h, alloc-pool.h and
      	lto-streamer.h.
      	* lto-object.c: Likewise.
      	* lto-partition.c: Likewise.
      	* lto-symtab.c: Likewise.
      
      From-SVN: r225612
      Andrew MacLeod committed
  25. 29 Jun, 2015 1 commit
  26. 25 Jun, 2015 2 commits
    • hash-traits.h (ggc_hasher): Rename to... · ca752f39
      gcc/
      	* hash-traits.h (ggc_hasher): Rename to...
      	(ggc_remover): ...this and remove typedefs.
      	(ggc_cache_hasher): Update accordingly.  Add typedefs.
      	(ggc_ptr_hash): New class.
      	* hash-table.h: Update comment.
      	* cfgloop.h (loop_exit_hasher): Inherit from ggc_ptr_hash rather than
      	ggc_hasher.
      	* cgraph.h (section_name_hasher, cgraph_edge_hasher): Likewise.
      	(tree_descriptor_hasher): Likewise.
      	* cgraph.c (function_version_hasher): Likewise.
      	* dwarf2out.c (indirect_string_hasher, dwarf_file_hasher): Likewise.
      	(decl_die_hasher, block_die_hasher, decl_loc_hasher): Likewise.
      	(dw_loc_list_hasher, addr_hasher): Likewise.
      	* function.h (used_type_hasher): Likewise.
      	* function.c (temp_address_hasher): Likewise.
      	* gimple-ssa.h (tm_restart_hasher, ssa_name_hasher): Likewise.
      	* libfuncs.h (libfunc_hasher): Likewise.
      	* lto-streamer.h (decl_state_hasher): Likewise.
      	* optabs.c (libfunc_decl_hasher): Likewise.
      	* tree-scalar-evolution.c (scev_info_hasher): Likewise.
      	* varasm.c (section_hasher, object_block_hasher): Likewise.
      	(const_rtx_desc_hasher): Likewise.
      	* config/darwin.c (indirection_hasher, cfstring_hasher): Likewise.
      	* config/rs6000/rs6000.c (toc_hasher, builtin_hasher): Likewise.
      
      gcc/c-family/
      	* c-common.c (c_type_hasher): Inherit from ggc_ptr_hash rather than
      	ggc_hasher.
      
      gcc/cp/
      	* constexpr.c (constexpr_fundef_hasher): Inherit from ggc_ptr_hash
      	rather than ggc_hasher.
      	(constexpr_call_hasher): Likewise.
      	* cp-tree.h (cxx_int_tree_map_hasher, named_label_hasher): Likewise.
      	* decl.c (typename_hasher): Likewise.
      	* mangle.c (conv_type_hasher): Likewise.
      	* pt.c (spec_hasher): Likewise.
      	* tree.c (cplus_array_hasher, list_hasher): Likewise.
      	* typeck2.c (abstract_type_hasher): Likewise.
      
      gcc/fortran/
      	* trans-decl.c (module_hasher): Likewise.
      	* trans.h (module_decl_hasher): Likewise.
      
      gcc/java/
      	* java-tree.h (treetreehasher): Inherit from ggc_ptr_hash
      	rather than ggc_hasher.
      	(ict_hasher, type_assertion_hasher): Likewise.
      
      gcc/objc/
      	* objc-act.c (objc_string_hasher): Inherit from ggc_ptr_hash
      	rather than ggc_hasher.
      
      From-SVN: r224959
      Richard Sandiford committed
    • hash-table.h: Update comments. · 8d67ee55
      gcc/
      	* hash-table.h: Update comments.
      	* hash-traits.h (pointer_hash): Don't inherit from typed_noop_remove.
      	(nofree_ptr_hash): New class.
      	* asan.c (asan_mem_ref_hasher): Inherit from nofree_ptr_hash rather
      	than typed_noop_remove.  Remove redudant typedefs.
      	* attribs.c (attribute_hasher): Likewise.
      	* cfg.c (bb_copy_hasher): Likewise.
      	* cselib.c (cselib_hasher): Likewise.
      	* dse.c (invariant_group_base_hasher): Likewise.
      	* dwarf2cfi.c (trace_info_hasher): Likewise.
      	* dwarf2out.c (macinfo_entry_hasher): Likewise.
      	(comdat_type_hasher, loc_list_hasher): Likewise.
      	* gcse.c (pre_ldst_expr_hasher): Likewise.
      	* genmatch.c (id_base): Likewise.
      	* genrecog.c (test_pattern_hasher): Likewise.
      	* gimple-ssa-strength-reduction.c (cand_chain_hasher): Likewise.
      	* haifa-sched.c (delay_i1_hasher): Likewise.
      	* hard-reg-set.h (simplifiable_subregs_hasher): Likewise.
      	* ipa-icf.h (congruence_class_group_hash): Likewise.
      	* ipa-profile.c (histogram_hash): Likewise.
      	* ira-color.c (allocno_hard_regs_hasher): Likewise.
      	* lto-streamer.h (string_slot_hasher): Likewise.
      	* lto-streamer.c (tree_entry_hasher): Likewise.
      	* plugin.c (event_hasher): Likewise.
      	* postreload-gcse.c (expr_hasher): Likewise.
      	* store-motion.c (st_expr_hasher): Likewise.
      	* tree-sra.c (uid_decl_hasher): Likewise.
      	* tree-ssa-coalesce.c (coalesce_pair_hasher): Likewise.
      	(ssa_name_var_hash): Likewise.
      	* tree-ssa-live.c (tree_int_map_hasher): Likewise.
      	* tree-ssa-loop-im.c (mem_ref_hasher): Likewise.
      	* tree-ssa-pre.c (pre_expr_d): Likewise.
      	* tree-ssa-sccvn.c (vn_nary_op_hasher): Likewise.
      	* vtable-verify.h (registration_hasher): Likewise.
      	* vtable-verify.c (vtbl_map_hasher): Likewise.
      	* config/arm/arm.c (libcall_hasher): Likewise.
      	* config/i386/winnt.c (wrapped_symbol_hasher): Likewise.
      	* config/ia64/ia64.c (bundle_state_hasher): Likewise.
      	* config/sol2.c (comdat_entry_hasher): Likewise.
      	* fold-const.c (fold): Use nofree_ptr_hash instead of pointer_hash.
      	(print_fold_checksum, fold_checksum_tree): Likewise.
      	(debug_fold_checksum, fold_build1_stat_loc): Likewise.
      	(fold_build2_stat_loc, fold_build3_stat_loc): Likewise.
      	(fold_build_call_array_loc): Likewise.
      	* tree-ssa-ccp.c (gimple_htab): Likewise.
      	* tree-browser.c (tree_upper_hasher): Inherit from nofree_ptr_hash
      	rather than pointer_type.
      
      gcc/c/
      	* c-decl.c (detect_field_duplicates_hash): Use nofree_ptr_hash
      	instead of pointer_hash.
      	(detect_field_duplicates): Likewise.
      
      gcc/cp/
      	* class.c (fixed_type_or_null_ref_ht): Inherit from nofree_ptr_hash
      	rather than pointer_hash.
      	(fixed_type_or_null): Use nofree_ptr_hash instead of pointer_hash.
      	* semantics.c (nrv_data): Likewise.
      	* tree.c (verify_stmt_tree_r, verify_stmt_tree): Likewise.
      
      gcc/java/
      	* jcf-io.c (charstar_hash): Inherit from nofree_ptr_hash rather
      	than typed_noop_remove.  Remove redudant typedefs.
      
      gcc/lto/
      	* lto.c (tree_scc_hasher): Inherit from nofree_ptr_hash rather
      	than typed_noop_remove.  Remove redudant typedefs.
      
      gcc/objc/
      	* objc-act.c (decl_name_hash): Inherit from nofree_ptr_hash rather
      	than typed_noop_remove.  Remove redudant typedefs.
      
      libcc1/
      	* plugin.cc (string_hasher): Inherit from nofree_ptr_hash rather
      	than typed_noop_remove.  Remove redudant typedefs.
      	(plugin_context): Use nofree_ptr_hash rather than pointer_hash.
      	(plugin_context::mark): Likewise.
      
      From-SVN: r224957
      Richard Sandiford committed
  27. 08 Jun, 2015 1 commit
    • coretypes.h: Include hash-table.h and hash-set.h for host files. · 13fdf2e2
      2015-06-08  Andrew MacLeod  <amacleod@redhat.com>
      
      	* coretypes.h: Include hash-table.h and hash-set.h for host files.
      	* ggc.h: Don't include statistics.h>
      	* hash-map.h: Remove all includes.
      	* hash-set.h: Likewise.
      	* hash-table.h: Add statistics.h, inchash.h and hash-map-traits.h to
      	the include list. Remove <new>.
      	* inchash.h: Remove all includes.
      	* mem-stats.h: Likewise.
      	* vec.h: No special processing for generators or ggc.  
      	* alias.c : Adjust include files.
      	* alloc-pool.c : Likewise.
      	* alloc-pool.h : Likewise.
      	* asan.c : Likewise.
      	* attribs.c : Likewise.
      	* auto-inc-dec.c : Likewise.
      	* auto-profile.c : Likewise.
      	* bb-reorder.c : Likewise.
      	* bitmap.c : Likewise.
      	* bitmap.h : Likewise.
      	* bt-load.c : Likewise.
      	* builtins.c : Likewise.
      	* caller-save.c : Likewise.
      	* calls.c : Likewise.
      	* ccmp.c : Likewise.
      	* cfg.c : Likewise.
      	* cfganal.c : Likewise.
      	* cfgbuild.c : Likewise.
      	* cfgcleanup.c : Likewise.
      	* cfgexpand.c : Likewise.
      	* cfghooks.c : Likewise.
      	* cfgloop.c : Likewise.
      	* cfgloop.h : Likewise.
      	* cfgloopanal.c : Likewise.
      	* cfgloopmanip.c : Likewise.
      	* cfgrtl.c : Likewise.
      	* cgraph.c : Likewise.
      	* cgraphbuild.c : Likewise.
      	* cgraphclones.c : Likewise.
      	* cgraphunit.c : Likewise.
      	* cilk-common.c : Likewise.
      	* combine-stack-adj.c : Likewise.
      	* combine.c : Likewise.
      	* compare-elim.c : Likewise.
      	* context.c : Likewise.
      	* convert.c : Likewise.
      	* coverage.c : Likewise.
      	* cppbuiltin.c : Likewise.
      	* cprop.c : Likewise.
      	* cse.c : Likewise.
      	* cselib.c : Likewise.
      	* data-streamer-in.c : Likewise.
      	* data-streamer-out.c : Likewise.
      	* data-streamer.c : Likewise.
      	* data-streamer.h : Likewise.
      	* dbxout.c : Likewise.
      	* dce.c : Likewise.
      	* ddg.c : Likewise.
      	* debug.c : Likewise.
      	* df-core.c : Likewise.
      	* df-problems.c : Likewise.
      	* df-scan.c : Likewise.
      	* df.h : Likewise.
      	* dfp.c : Likewise.
      	* dojump.c : Likewise.
      	* dominance.c : Likewise.
      	* domwalk.c : Likewise.
      	* double-int.c : Likewise.
      	* dse.c : Likewise.
      	* dumpfile.c : Likewise.
      	* dwarf2asm.c : Likewise.
      	* dwarf2cfi.c : Likewise.
      	* dwarf2out.c : Likewise.
      	* emit-rtl.c : Likewise.
      	* et-forest.c : Likewise.
      	* except.c : Likewise.
      	* except.h : Likewise.
      	* explow.c : Likewise.
      	* expmed.c : Likewise.
      	* expr.c : Likewise.
      	* final.c : Likewise.
      	* fixed-value.c : Likewise.
      	* fold-const.c : Likewise.
      	* function.c : Likewise.
      	* fwprop.c : Likewise.
      	* gcc-plugin.h : Likewise.
      	* gcc.c : Likewise.
      	* gcse-common.c : Likewise.
      	* gcse.c : Likewise.
      	* genattrtab.c : Likewise.
      	* genautomata.c : Likewise.
      	* genconditions.c : Likewise.
      	* genemit.c : Likewise.
      	* generic-match-head.c : Likewise.
      	* genextract.c : Likewise.
      	* gengtype-state.c : Likewise.
      	* gengtype.c : Likewise.
      	* genhooks.c : Likewise.
      	* genmatch.c : Likewise.
      	* genmodes.c : Likewise.
      	* genrecog.c : Likewise.
      	* gensupport.c : Likewise.
      	* ggc-common.c : Likewise.
      	* ggc-internal.h : Likewise.
      	* ggc-none.c : Likewise.
      	* ggc-page.c : Likewise.
      	* gimple-builder.c : Likewise.
      	* gimple-expr.c : Likewise.
      	* gimple-fold.c : Likewise.
      	* gimple-iterator.c : Likewise.
      	* gimple-low.c : Likewise.
      	* gimple-match-head.c : Likewise.
      	* gimple-pretty-print.c : Likewise.
      	* gimple-ssa-isolate-paths.c : Likewise.
      	* gimple-ssa-strength-reduction.c : Likewise.
      	* gimple-ssa.h : Likewise.
      	* gimple-streamer-in.c : Likewise.
      	* gimple-streamer-out.c : Likewise.
      	* gimple-streamer.h : Likewise.
      	* gimple-walk.c : Likewise.
      	* gimple.c : Likewise.
      	* gimplify-me.c : Likewise.
      	* gimplify.c : Likewise.
      	* godump.c : Likewise.
      	* graph.c : Likewise.
      	* graphds.c : Likewise.
      	* graphite-blocking.c : Likewise.
      	* graphite-dependences.c : Likewise.
      	* graphite-interchange.c : Likewise.
      	* graphite-isl-ast-to-gimple.c : Likewise.
      	* graphite-optimize-isl.c : Likewise.
      	* graphite-poly.c : Likewise.
      	* graphite-scop-detection.c : Likewise.
      	* graphite-sese-to-poly.c : Likewise.
      	* graphite.c : Likewise.
      	* haifa-sched.c : Likewise.
      	* hard-reg-set.h : Likewise.
      	* hw-doloop.c : Likewise.
      	* ifcvt.c : Likewise.
      	* inchash.c : Likewise.
      	* incpath.c : Likewise.
      	* init-regs.c : Likewise.
      	* input.c : Likewise.
      	* internal-fn.c : Likewise.
      	* ipa-chkp.c : Likewise.
      	* ipa-comdats.c : Likewise.
      	* ipa-cp.c : Likewise.
      	* ipa-devirt.c : Likewise.
      	* ipa-icf-gimple.c : Likewise.
      	* ipa-icf.c : Likewise.
      	* ipa-inline-analysis.c : Likewise.
      	* ipa-inline-transform.c : Likewise.
      	* ipa-inline.c : Likewise.
      	* ipa-polymorphic-call.c : Likewise.
      	* ipa-profile.c : Likewise.
      	* ipa-prop.c : Likewise.
      	* ipa-pure-const.c : Likewise.
      	* ipa-ref.c : Likewise.
      	* ipa-reference.c : Likewise.
      	* ipa-split.c : Likewise.
      	* ipa-utils.c : Likewise.
      	* ipa-visibility.c : 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-lives.c : Likewise.
      	* ira.c : Likewise.
      	* jump.c : Likewise.
      	* langhooks.c : Likewise.
      	* lcm.c : Likewise.
      	* libfuncs.h : 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.
      	* lra-assigns.c : Likewise.
      	* lra-coalesce.c : Likewise.
      	* lra-constraints.c : Likewise.
      	* lra-eliminations.c : Likewise.
      	* lra-lives.c : Likewise.
      	* lra-remat.c : Likewise.
      	* lra-spills.c : Likewise.
      	* lra.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.
      	* mcf.c : Likewise.
      	* mode-switching.c : Likewise.
      	* modulo-sched.c : Likewise.
      	* omega.c : Likewise.
      	* omp-low.c : Likewise.
      	* optabs.c : Likewise.
      	* opts-global.c : Likewise.
      	* opts.h : Likewise.
      	* passes.c : Likewise.
      	* plugin.c : Likewise.
      	* postreload-gcse.c : Likewise.
      	* postreload.c : Likewise.
      	* predict.c : Likewise.
      	* print-rtl.c : Likewise.
      	* print-tree.c : Likewise.
      	* profile.c : Likewise.
      	* read-md.c : Likewise.
      	* read-md.h : Likewise.
      	* read-rtl.c : Likewise.
      	* real.c : Likewise.
      	* realmpfr.c : Likewise.
      	* recog.c : Likewise.
      	* ree.c : Likewise.
      	* reg-stack.c : Likewise.
      	* regcprop.c : Likewise.
      	* reginfo.c : Likewise.
      	* regrename.c : Likewise.
      	* regstat.c : Likewise.
      	* reload.c : Likewise.
      	* reload1.c : Likewise.
      	* reorg.c : Likewise.
      	* resource.c : Likewise.
      	* rtl-chkp.c : Likewise.
      	* rtl.c : Likewise.
      	* rtl.h : Likewise.
      	* rtlanal.c : Likewise.
      	* rtlhash.c : Likewise.
      	* rtlhash.h : Likewise.
      	* rtlhooks.c : Likewise.
      	* sanopt.c : Likewise.
      	* sched-deps.c : Likewise.
      	* sched-ebb.c : Likewise.
      	* sched-rgn.c : Likewise.
      	* sched-vis.c : Likewise.
      	* sdbout.c : Likewise.
      	* sel-sched-dump.c : Likewise.
      	* sel-sched-ir.c : Likewise.
      	* sel-sched-ir.h : Likewise.
      	* sel-sched.c : Likewise.
      	* sese.c : Likewise.
      	* shrink-wrap.c : Likewise.
      	* shrink-wrap.h : Likewise.
      	* simplify-rtx.c : Likewise.
      	* stack-ptr-mod.c : Likewise.
      	* statistics.c : Likewise.
      	* stmt.c : Likewise.
      	* stor-layout.c : Likewise.
      	* store-motion.c : Likewise.
      	* stringpool.c : Likewise.
      	* symtab.c : Likewise.
      	* target-globals.c : Likewise.
      	* targhooks.c : Likewise.
      	* tlink.c : Likewise.
      	* toplev.c : Likewise.
      	* tracer.c : Likewise.
      	* trans-mem.c : Likewise.
      	* tree-affine.c : Likewise.
      	* tree-affine.h : Likewise.
      	* tree-browser.c : Likewise.
      	* tree-call-cdce.c : Likewise.
      	* tree-cfg.c : Likewise.
      	* tree-cfgcleanup.c : Likewise.
      	* tree-chkp-opt.c : Likewise.
      	* tree-chkp.c : Likewise.
      	* tree-chrec.c : Likewise.
      	* tree-complex.c : Likewise.
      	* tree-data-ref.c : Likewise.
      	* tree-dfa.c : Likewise.
      	* tree-diagnostic.c : Likewise.
      	* tree-dump.c : Likewise.
      	* tree-eh.c : Likewise.
      	* tree-eh.h : Likewise.
      	* tree-emutls.c : Likewise.
      	* tree-hasher.h : Likewise.
      	* tree-if-conv.c : Likewise.
      	* tree-inline.c : Likewise.
      	* tree-inline.h : Likewise.
      	* tree-into-ssa.c : Likewise.
      	* tree-iterator.c : Likewise.
      	* tree-loop-distribution.c : Likewise.
      	* tree-nested.c : Likewise.
      	* tree-nrv.c : Likewise.
      	* tree-object-size.c : Likewise.
      	* tree-outof-ssa.c : Likewise.
      	* tree-parloops.c : Likewise.
      	* tree-phinodes.c : Likewise.
      	* tree-predcom.c : Likewise.
      	* tree-pretty-print.c : Likewise.
      	* tree-profile.c : Likewise.
      	* tree-scalar-evolution.c : Likewise.
      	* tree-sra.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-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-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-scopedtables.c : Likewise.
      	* tree-ssa-sink.c : Likewise.
      	* tree-ssa-strlen.c : Likewise.
      	* tree-ssa-structalias.c : Likewise.
      	* tree-ssa-tail-merge.c : Likewise.
      	* tree-ssa-ter.c : Likewise.
      	* tree-ssa-threadedge.c : Likewise.
      	* tree-ssa-threadupdate.c : Likewise.
      	* tree-ssa-uncprop.c : Likewise.
      	* tree-ssa-uninit.c : Likewise.
      	* tree-ssa.c : Likewise.
      	* tree-ssanames.c : Likewise.
      	* tree-stdarg.c : Likewise.
      	* tree-streamer-in.c : Likewise.
      	* tree-streamer-out.c : Likewise.
      	* tree-streamer.c : Likewise.
      	* tree-streamer.h : 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.
      	* tsan.c : Likewise.
      	* ubsan.c : Likewise.
      	* valtrack.c : Likewise.
      	* valtrack.h : Likewise.
      	* value-prof.c : Likewise.
      	* var-tracking.c : Likewise.
      	* varasm.c : Likewise.
      	* varpool.c : Likewise.
      	* vec.c: Likewise.
      	* vmsdbgout.c : Likewise.
      	* vtable-verify.c : Likewise.
      	* vtable-verify.h : Likewise.
      	* web.c : Likewise.
      	* wide-int.cc : Likewise.
      	* xcoffout.c : Likewise.
      	* config/aarch64/aarch64-builtins.c : Likewise.
      	* config/aarch64/aarch64.c : Likewise.
      	* config/aarch64/cortex-a57-fma-steering.c : Likewise.
      	* config/alpha/alpha.c : Likewise.
      	* config/arc/arc.c : Likewise.
      	* config/arm/aarch-common.c : Likewise.
      	* config/arm/arm-builtins.c : Likewise.
      	* config/arm/arm-c.c : Likewise.
      	* config/arm/arm.c : Likewise.
      	* config/avr/avr-c.c : Likewise.
      	* config/avr/avr-log.c : Likewise.
      	* config/avr/avr.c : Likewise.
      	* config/bfin/bfin.c : Likewise.
      	* config/c6x/c6x.c : Likewise.
      	* config/cr16/cr16.c : Likewise.
      	* config/cris/cris.c : Likewise.
      	* config/darwin-c.c : Likewise.
      	* config/darwin.c : Likewise.
      	* config/default-c.c : Likewise.
      	* config/epiphany/epiphany.c : Likewise.
      	* config/epiphany/mode-switch-use.c : Likewise.
      	* config/epiphany/resolve-sw-modes.c : Likewise.
      	* config/fr30/fr30.c : Likewise.
      	* config/frv/frv.c : Likewise.
      	* config/ft32/ft32.c : Likewise.
      	* config/glibc-c.c : Likewise.
      	* config/h8300/h8300.c : Likewise.
      	* config/i386/i386-c.c : Likewise.
      	* config/i386/i386.c : Likewise.
      	* config/i386/msformat-c.c : Likewise.
      	* config/i386/winnt-cxx.c : Likewise.
      	* config/i386/winnt-stubs.c : Likewise.
      	* config/i386/winnt.c : Likewise.
      	* config/ia64/ia64-c.c : Likewise.
      	* config/ia64/ia64.c : Likewise.
      	* config/iq2000/iq2000.c : Likewise.
      	* config/lm32/lm32.c : Likewise.
      	* config/m32c/m32c-pragma.c : Likewise.
      	* config/m32c/m32c.c : Likewise.
      	* config/m32r/m32r.c : Likewise.
      	* config/m68k/m68k.c : Likewise.
      	* config/mcore/mcore.c : Likewise.
      	* config/mep/mep-pragma.c : Likewise.
      	* config/mep/mep.c : Likewise.
      	* config/microblaze/microblaze-c.c : Likewise.
      	* config/microblaze/microblaze.c : Likewise.
      	* config/mips/mips.c : Likewise.
      	* config/mmix/mmix.c : Likewise.
      	* config/mn10300/mn10300.c : Likewise.
      	* config/moxie/moxie.c : Likewise.
      	* config/msp430/msp430-c.c : Likewise.
      	* config/msp430/msp430.c : Likewise.
      	* config/nds32/nds32-cost.c : Likewise.
      	* config/nds32/nds32-fp-as-gp.c : Likewise.
      	* config/nds32/nds32-intrinsic.c : Likewise.
      	* config/nds32/nds32-isr.c : Likewise.
      	* config/nds32/nds32-md-auxiliary.c : Likewise.
      	* config/nds32/nds32-memory-manipulation.c : Likewise.
      	* config/nds32/nds32-pipelines-auxiliary.c : Likewise.
      	* config/nds32/nds32-predicates.c : Likewise.
      	* config/nds32/nds32.c : Likewise.
      	* config/nios2/nios2.c : Likewise.
      	* config/nvptx/nvptx.c : Likewise.
      	* config/pa/pa.c : Likewise.
      	* config/pdp11/pdp11.c : Likewise.
      	* config/rl78/rl78-c.c : Likewise.
      	* config/rl78/rl78.c : Likewise.
      	* config/rs6000/rs6000-c.c : Likewise.
      	* config/rs6000/rs6000.c : Likewise.
      	* config/rx/rx.c : Likewise.
      	* config/s390/s390-c.c : Likewise.
      	* config/s390/s390.c : Likewise.
      	* config/sh/sh-c.c : Likewise.
      	* config/sh/sh-mem.cc : Likewise.
      	* config/sh/sh.c : Likewise.
      	* config/sh/sh_optimize_sett_clrt.cc : Likewise.
      	* config/sh/sh_treg_combine.cc : Likewise.
      	* config/sol2-c.c : Likewise.
      	* config/sol2-cxx.c : Likewise.
      	* config/sol2-stubs.c : Likewise.
      	* config/sol2.c : Likewise.
      	* config/sparc/sparc-c.c : Likewise.
      	* config/sparc/sparc.c : Likewise.
      	* config/spu/spu-c.c : Likewise.
      	* config/spu/spu.c : Likewise.
      	* config/stormy16/stormy16.c : Likewise.
      	* config/tilegx/mul-tables.c : Likewise.
      	* config/tilegx/tilegx-c.c : Likewise.
      	* config/tilegx/tilegx.c : Likewise.
      	* config/tilepro/mul-tables.c : Likewise.
      	* config/tilepro/tilepro-c.c : Likewise.
      	* config/tilepro/tilepro.c : Likewise.
      	* config/v850/v850-c.c : Likewise.
      	* config/v850/v850.c : Likewise.
      	* config/vax/vax.c : Likewise.
      	* config/visium/visium.c : Likewise.
      	* config/vms/vms-c.c : Likewise.
      	* config/vms/vms.c : Likewise.
      	* config/vxworks.c : Likewise.
      	* config/winnt-c.c : Likewise.
      	* config/xtensa/xtensa.c : Likewise.
      
      ada
      2015-06-08  Andrew MacLeod  <amacleod@redhat.com>
      
      	* gcc-interface/cuintp.c : Adjust include files.
      	* gcc-interface/decl.c : Likewise.
      	* gcc-interface/misc.c : Likewise.
      	* gcc-interface/targtyps.c : Likewise.
      	* gcc-interface/trans.c : Likewise.
      	* gcc-interface/utils.c : Likewise.
      	* gcc-interface/utils2.c : Likewise.
      	
      c
      2015-06-08  Andrew MacLeod  <amacleod@redhat.com>
      
      	* c-array-notation.c : Adjust include files.
      	* c-aux-info.c : Likewise.
      	* c-convert.c : Likewise.
      	* c-decl.c : Likewise.
      	* c-errors.c : Likewise.
      	* c-lang.c : Likewise.
      	* c-lang.h : Likewise.
      	* c-objc-common.c : Likewise.
      	* c-parser.c : Likewise.
      	* c-typeck.c : Likewise.
      
      cfamily
      2015-06-08  Andrew MacLeod  <amacleod@redhat.com>
      
      	* array-notation-common.c : Adjust include files.
      	* c-ada-spec.c : Likewise.
      	* c-cilkplus.c : Likewise.
      	* c-common.c : Likewise.
      	* c-common.h : Likewise.
      	* c-cppbuiltin.c : Likewise.
      	* c-dump.c : Likewise.
      	* c-format.c : Likewise.
      	* c-gimplify.c : Likewise.
      	* c-indentation.c : Likewise.
      	* c-lex.c : Likewise.
      	* c-omp.c : Likewise.
      	* c-opts.c : Likewise.
      	* c-pch.c : Likewise.
      	* c-ppoutput.c : Likewise.
      	* c-pragma.c : Likewise.
      	* c-pretty-print.c : Likewise.
      	* c-semantics.c : Likewise.
      	* c-ubsan.c : Likewise.
      	* cilk.c : Likewise.
      	* stub-objc.c : Likewise.
      
      cp
      2015-06-08  Andrew MacLeod  <amacleod@redhat.com>
      
      	* call.c : Adjust include files.
      	* class.c : Likewise.
      	* constexpr.c : Likewise.
      	* cp-array-notation.c : Likewise.
      	* cp-cilkplus.c : Likewise.
      	* cp-gimplify.c : Likewise.
      	* cp-lang.c : Likewise.
      	* cp-objcp-common.c : Likewise.
      	* cp-tree.h : Likewise.
      	* cp-ubsan.c : Likewise.
      	* cvt.c : Likewise.
      	* decl.c : Likewise.
      	* decl2.c : Likewise.
      	* dump.c : Likewise.
      	* error.c : Likewise.
      	* except.c : Likewise.
      	* expr.c : Likewise.
      	* friend.c : Likewise.
      	* init.c : Likewise.
      	* lambda.c : Likewise.
      	* lex.c : Likewise.
      	* mangle.c : Likewise.
      	* method.c : Likewise.
      	* name-lookup.c : Likewise.
      	* optimize.c : Likewise.
      	* parser.c : Likewise.
      	* pt.c : Likewise.
      	* ptree.c : Likewise.
      	* repo.c : Likewise.
      	* rtti.c : Likewise.
      	* search.c : Likewise.
      	* semantics.c : Likewise.
      	* tree.c : Likewise.
      	* typeck.c : Likewise.
      	* typeck2.c : Likewise.
      	* vtable-class-hierarchy.c : Likewise.
      
      fortran
      2015-06-08  Andrew MacLeod  <amacleod@redhat.com>
      
      	* convert.c : Adjust include files.
      	* cpp.c : Likewise.
      	* decl.c : Likewise.
      	* f95-lang.c : Likewise.
      	* gfortran.h : Likewise.
      	* iresolve.c : Likewise.
      	* match.c : Likewise.
      	* module.c : Likewise.
      	* openmp.c : Likewise.
      	* options.c : Likewise.
      	* target-memory.c : Likewise.
      	* trans-array.c : Likewise.
      	* trans-common.c : Likewise.
      	* trans-const.c : Likewise.
      	* trans-decl.c : Likewise.
      	* trans-expr.c : Likewise.
      	* trans-intrinsic.c : Likewise.
      	* trans-io.c : Likewise.
      	* trans-openmp.c : Likewise.
      	* trans-stmt.c : Likewise.
      	* trans-types.c : Likewise.
      	* trans.c : Likewise.
      
      
      go
      2015-06-08  Andrew MacLeod  <amacleod@redhat.com>
      
      	* go-backend.c : Adjust include files.
      	* go-gcc.cc : Likewise.
      	* go-lang.c : Likewise.
      
      java
      2015-06-08  Andrew MacLeod  <amacleod@redhat.com>
      
      	* boehm.c : Adjust include files.
      	* builtins.c : Likewise.
      	* class.c : Likewise.
      	* constants.c : Likewise.
      	* decl.c : Likewise.
      	* except.c : Likewise.
      	* expr.c : Likewise.
      	* java-gimplify.c : Likewise.
      	* java-tree.h : Likewise.
      	* jcf-dump.c : Likewise.
      	* jcf-io.c : Likewise.
      	* jcf-parse.c : Likewise.
      	* jcf-reader.c : Likewise.
      	* jvgenmain.c : Likewise.
      	* lang.c : Likewise.
      	* mangle.c : Likewise.
      	* mangle_name.c : Likewise.
      	* resource.c : Likewise.
      	* typeck.c : Likewise.
      	* verify-glue.c : Likewise.
      	* verify-impl.c : Likewise.
      
      jit
      2015-06-08  Andrew MacLeod  <amacleod@redhat.com>
      
      	* dummy-frontend.c : Adjust include files.
      	* jit-common.h : Likewise.
      	* jit-playback.c : Likewise.
      
      lto
      2015-06-08  Andrew MacLeod  <amacleod@redhat.com>
      
      	* lto-lang.c : Adjust include files.
      	* lto-object.c : Likewise.
      	* lto-partition.c : Likewise.
      	* lto-partition.h : Likewise.
      	* lto-symtab.c : Likewise.
      	* lto.c : Likewise.
      	* lto.h : Likewise.
      
      objc
      2015-06-08  Andrew MacLeod  <amacleod@redhat.com>
      
      	* objc-act.c : Adjust include files.
      	* objc-encoding.c : Likewise.
      	* objc-gnu-runtime-abi-01.c : Likewise.
      	* objc-lang.c : Likewise.
      	* objc-map.c : Likewise.
      	* objc-next-runtime-abi-01.c : Likewise.
      	* objc-next-runtime-abi-02.c : Likewise.
      	* objc-runtime-shared-support.c : Likewise.
      
      objcp
      2015-06-08  Andrew MacLeod  <amacleod@redhat.com>
      
      	* objcp-decl.c : Adjust include files.
      	* objcp-lang.c : Likewise.
      
      From-SVN: r224250
      Andrew MacLeod committed
  28. 18 Apr, 2015 1 commit
    • remove need for store_values_directly · 67f58944
      This switches all hash_table users to use the layout that stores
      elements of type value_type in the hash table instead of the one storing
      value_type *.  Since it becomes unused support for the value_type *
      layout is removed.
      
      gcc/
      
      	* hash-table.h: Remove version of hash_table that stored value_type *.
      	* asan.c, attribs.c, bitmap.c, cfg.c, cgraph.h, config/arm/arm.c,
      	config/i386/winnt.c, config/ia64/ia64.c, config/mips/mips.c,
      	config/sol2.c, coverage.c, cselib.c, dse.c, dwarf2cfi.c,
      	dwarf2out.c, except.c, gcse.c, genmatch.c, ggc-common.c,
      	gimple-ssa-strength-reduction.c, gimplify.c, haifa-sched.c,
      	hard-reg-set.h, hash-map.h, hash-set.h, ipa-devirt.c, ipa-icf.h,
      	ipa-profile.c, ira-color.c, ira-costs.c, loop-invariant.c,
      	loop-iv.c, loop-unroll.c, lto-streamer.h, plugin.c, postreload-gcse.c,
      	reginfo.c, statistics.c, store-motion.c, trans-mem.c, tree-cfg.c,
      	tree-eh.c, tree-hasher.h, tree-into-ssa.c, tree-parloops.c,
      	tree-sra.c, tree-ssa-coalesce.c, tree-ssa-dom.c, tree-ssa-live.c,
      	tree-ssa-loop-im.c, tree-ssa-loop-ivopts.c, tree-ssa-phiopt.c,
      	tree-ssa-pre.c, tree-ssa-reassoc.c, tree-ssa-sccvn.c,
      	tree-ssa-structalias.c, tree-ssa-tail-merge.c,
      	tree-ssa-threadupdate.c, tree-vectorizer.c, tree-vectorizer.h,
      	valtrack.h, var-tracking.c, vtable-verify.c, vtable-verify.h: Adjust.
      
      libcc1/
      
      	* plugin.cc: Adjust for hash_table changes.
      
      gcc/java/
      
      	* jcf-io.c: Adjust for hash_table changes.
      
      gcc/lto/
      
      	* lto.c: Adjust for hash_table changes.
      
      gcc/objc/
      
      	* objc-act.c: Adjust for hash_table changes.
      
      From-SVN: r222213
      Trevor Saunders committed
  29. 27 Mar, 2015 2 commits
    • lto-streamer.h (class lto_location_cache): Turn loc_cache into auto_vec. · 50cfd44e
      	* lto-streamer.h (class lto_location_cache): Turn loc_cache into
      	auto_vec.
      
      From-SVN: r221722
      Jan Hubicka committed
    • re PR lto/65536 (LTO line number information garbled) · eaeec5ec
      	PR lto/65536
      	* lto-streamer.h (class lto_location_cache): New.
      	(struct data_in): Add location_cache.
      	(lto_input_location): Update prototype.
      	(stream_input_location_now): New.
      	* streamer-hooks.h (struct streamer_hooks): Make input_location to take
      	pointer to location.
      	(stream_input_location): Update.
      	* ipa-devirt.c: Include streamer-hooks.h and lto-streamer.h
      	(warn_odr): Apply location cache before warning.
      	(lto_input_location): Update prototype.
      	* gimple-streamer-in.c (input_phi, input_gimple_stmt):
      	Use stream_input_location_now.
      	* lto/lto.c (unify_scc): Revert location cache when unification
      	suceeded.
      	(lto_read_decls): Accept location cache after sucess;
      	apply location cache before calling debug hooks.
      	* lto-streamer-in.c (lto_location_cache::current_cache): New static
      	variable.
      	(lto_location_cache::cmp_loc): New function.
      	(lto_location_cache::apply_location_cache): New function.
      	(lto_location_cache::accept_location_cache): New function.
      	(lto_location_cache::revert_location_cache): New function.
      	(lto_location_cache::input_location): New function.
      	(lto_input_location): Do location caching.
      	(stream_input_location_now): New function.
      	(input_eh_region, input_struct_function_base): Use
      	stream_input_location_now.
      	(lto_data_in_create): use new.
      	(lto_data_in_delete): Use delete.
      	* tree-streamer-in.c (unpack_ts_block_value_fields,
      	unpack_ts_omp_clause_value_fields, streamer_read_tree_bitfields,
      	lto_input_ts_exp_tree_pointers): Update for cached location api.
      
      From-SVN: r221720
      Jan Hubicka committed
  30. 26 Feb, 2015 1 commit
    • passes.c (ipa_write_summaries_1): Call lto_output_init_mode_table. · db847fa8
      	* passes.c (ipa_write_summaries_1): Call lto_output_init_mode_table.
      	(ipa_write_optimization_summaries): Likewise.
      	* tree-streamer.h: Include data-streamer.h.
      	(streamer_mode_table): Declare extern variable.
      	(bp_pack_machine_mode, bp_unpack_machine_mode): New inline functions.
      	* lto-streamer-out.c (lto_output_init_mode_table,
      	lto_write_mode_table): New functions.
      	(produce_asm_for_decls): Call lto_write_mode_table when streaming
      	offloading LTO.
      	* lto-section-in.c (lto_section_name): Add "mode_table" entry.
      	(lto_create_simple_input_block): Add mode_table argument to the
      	lto_input_block constructors.
      	* ipa-prop.c (ipa_prop_read_section, read_replacements_section):
      	Likewise.
      	* data-streamer-in.c (string_for_index): Likewise.
      	* ipa-inline-analysis.c (inline_read_section): Likewise.
      	* ipa-icf.c (sem_item_optimizer::read_section): Likewise.
      	* lto-cgraph.c (input_cgraph_opt_section): Likewise.
      	* lto-streamer-in.c (lto_read_body_or_constructor,
      	lto_input_toplevel_asms): Likewise.
      	(lto_input_mode_table): New function.
      	* tree-streamer-out.c (pack_ts_fixed_cst_value_fields,
      	pack_ts_decl_common_value_fields, pack_ts_type_common_value_fields):
      	Use bp_pack_machine_mode.
      	* real.h (struct real_format): Add name field.
      	* lto-streamer.h (enum lto_section_type): Add LTO_section_mode_table.
      	(class lto_input_block): Add mode_table member.
      	(lto_input_block::lto_input_block): Add mode_table_ argument,
      	initialize mode_table.
      	(struct lto_file_decl_data): Add mode_table field.
      	(lto_input_mode_table, lto_output_init_mode_table): New prototypes.
      	* tree-streamer-in.c (unpack_ts_fixed_cst_value_fields,
      	unpack_ts_decl_common_value_fields,
      	unpack_ts_type_common_value_fields): Call bp_unpack_machine_mode.
      	* tree-streamer.c (streamer_mode_table): New variable.
      	* real.c (ieee_single_format, mips_single_format,
      	motorola_single_format, spu_single_format, ieee_double_format,
      	mips_double_format, motorola_double_format,
      	ieee_extended_motorola_format, ieee_extended_intel_96_format,
      	ieee_extended_intel_128_format, ieee_extended_intel_96_round_53_format,
      	ibm_extended_format, mips_extended_format, ieee_quad_format,
      	mips_quad_format, vax_f_format, vax_d_format, vax_g_format,
      	decimal_single_format, decimal_double_format, decimal_quad_format,
      	ieee_half_format, arm_half_format, real_internal_format): Add name
      	field.
      	* config/pdp11/pdp11.c (pdp11_f_format, pdp11_d_format): Likewise.
      lto/
      	* lto.c (lto_mode_identity_table): New variable.
      	(lto_read_decls): Add mode_table argument to the lto_input_block
      	constructor.
      	(lto_file_finalize): Initialize mode_table.
      	(lto_init): Initialize lto_mode_identity_table.
      
      From-SVN: r221005
      Jakub Jelinek committed
  31. 14 Jan, 2015 1 commit
    • cgraphunit.c (ipa_passes): Remove argument from ipa_write_summaries. · 837bac8c
      gcc/
      	* cgraphunit.c (ipa_passes): Remove argument from ipa_write_summaries.
      	* lto-cgraph.c (select_what_to_stream): Remove argument, use
      	lto_stream_offload_p instead.
      	* lto-streamer.h (select_what_to_stream): Remove argument.
      	* passes.c (ipa_write_summaries): Likewise.
      	* tree-pass.h (ipa_write_summaries): Likewise.
      gcc/lto/
      	* lto-partition.c (lto_promote_cross_file_statics): Remove argument
      	from select_what_to_stream.
      
      From-SVN: r219605
      Ilya Verbin committed
  32. 09 Jan, 2015 1 commit
    • re PR middle-end/64412 (ICE in offload compiler: in extract_insn, at recog.c:2327) · 1b34e6e2
      	PR middle-end/64412
      	* lto-streamer.h (lto_stream_offload_p): New declaration.
      	* lto-streamer.c (lto_stream_offload_p): New variable.
      	* cgraphunit.c (ipa_passes): Set lto_stream_offload_p
      	at the same time as section_name_prefix.
      	* lto-streamer-out.c (hash_tree): Don't hash TREE_TARGET_OPTION
      	if lto_stream_offload_p.
      	* tree-streamer-out.c (streamer_pack_tree_bitfields): Don't
      	stream TREE_TARGET_OPTION if lto_stream_offload_p.
      	(write_ts_function_decl_tree_pointers): Don't
      	stream DECL_FUNCTION_SPECIFIC_TARGET if lto_stream_offload_p.
      	* tree-streamer-in.c (unpack_value_fields): Don't stream
      	TREE_TARGET_OPTION in if ACCEL_COMPILER.
      	(lto_input_ts_function_decl_tree_pointers): Don't stream
      	DECL_FUNCTION_SPECIFIC_TARGET in if ACCEL_COMPILER.
      	* lto-opts.c (lto_write_options): Use lto_stream_offload_p
      	instead of section_name_prefix string comparisons.
      lto/
      	* lto.c (read_cgraph_and_symbols): Set lto_stream_offload_p
      	if ACCEL_COMPILER.
      
      Co-Authored-By: Jakub Jelinek <jakub@redhat.com>
      
      From-SVN: r219410
      Bernd Schmidt committed
  33. 05 Jan, 2015 1 commit
  34. 20 Nov, 2014 2 commits
    • remove more ggc htabs · 907dadbd
      gcc/
      
      	* ipa-utils.c, lto-section-in.c, lto-streamer.h,
      	tree-scalar-evolution.c: Replace htab with hash_table.
      
      lto/
      
      	* lto.c: Replace htab with hash_table.
      
      From-SVN: r217871
      Trevor Saunders committed
    • use vec in lto_tree_ref_table · 9c71e9df
      gcc/ChangeLog:
      
      2014-11-20  Trevor Saunders  <tsaunders@mozilla.com>
      
      	* lto-section-in.c (lto_delete_in_decl_state): Adjust.
      	(lto_free_function_in_decl_state): Likewise.
      	* lto-streamer-out.c (copy_function_or_variable): Likewise.
      	* lto-streamer.h (lto_file_decl_data_get_ ## name): Likewise.
      	(lto_file_decl_data_num_ ## name ## s): Likewise.
      	(struct lto_tree_ref_table): Remove.
      	(struct lto_in_decl_state): Replace lto_tree_ref_table with vec<tree>.
      
      gcc/lto/ChangeLog:
      
      2014-11-20  Trevor Saunders  <tsaunders@mozilla.com>
      
      	* lto.c (lto_read_in_decl_state): Adjust.
      	(lto_fixup_state): Likewise.
      
      From-SVN: r217870
      Trevor Saunders committed
  35. 15 Nov, 2014 1 commit
    • lto-streamer-out.c (hash_tree): Use cl_optimization_hash. · ca9a04da
      	* lto-streamer-out.c (hash_tree): Use cl_optimization_hash.
      	* lto-streamer.h (cl_optimization_stream_out, cl_optimization_stream_in): Declare.
      	* optc-save-gen.awk: Generate cl_optimization LTO streaming and hashing routines.
      	* opth-gen.awk: Add prototype of cl_optimization_hash.
      	* tree-streamer-in.c (unpack_ts_optimization): Remove.
      	(streamer_unpack_tree_bitfields): Use cl_optimization_stream_in.
      	* tree-streamer-out.c (pack_ts_optimization): Remove.
      	(streamer_pack_tree_bitfields): Use cl_optimization_stream_out.
      
      From-SVN: r217607
      Jan Hubicka committed
  36. 14 Nov, 2014 1 commit
    • optc-save-gen.awk: Output cl_target_option_eq... · 325fe981
      	* optc-save-gen.awk: Output cl_target_option_eq,
      	cl_target_option_hash, cl_target_option_stream_out,
      	cl_target_option_stream_in functions.
      	* opth-gen.awk: Output prototypes for
      	cl_target_option_eq and cl_target_option_hash.
      	* lto-streamer.h (cl_target_option_stream_out,
      	cl_target_option_stream_in): Declare.
      	* tree.c (cl_option_hash_hash): Use cl_target_option_hash.
      	(cl_option_hash_eq): Use cl_target_option_eq.
      	* tree-streamer-in.c (unpack_value_fields): Stream in
      	TREE_TARGET_OPTION.
      	* lto-streamer-out.c (DFS::DFS_write_tree_body): Follow
      	DECL_FUNCTION_SPECIFIC_TARGET.
      	(hash_tree): Hash TREE_TARGET_OPTION; visit
      	DECL_FUNCTION_SPECIFIC_TARGET.
      	* tree-streamer-out.c (streamer_pack_tree_bitfields): Skip
      	TS_TARGET_OPTION.
      	(streamer_write_tree_body): Output TS_TARGET_OPTION.
      
      	* lto.c (compare_tree_sccs_1): Compare cl_target_option_eq.
      
      From-SVN: r217572
      Jan Hubicka committed
  37. 13 Nov, 2014 1 commit
    • [PATCH 3/7] OpenMP 4.0 offloading infrastructure: Offload tables. · ec6fe917
      gcc/
      	* Makefile.in (GTFILES): Add omp-low.h to list of GC files.
      	* cgraphunit.c: Include omp-low.h.
      	* doc/tm.texi: Regenerate.
      	* doc/tm.texi.in (TARGET_RECORD_OFFLOAD_SYMBOL): Document.
      	* gengtype.c (open_base_files): Add omp-low.h to ifiles.
      	* lto-cgraph.c (output_offload_tables): New function.
      	(input_offload_tables): Likewise.
      	* lto-section-in.c (lto_section_name): Add "offload_table".
      	* lto-section-names.h (OFFLOAD_VAR_TABLE_SECTION_NAME): Define.
      	(OFFLOAD_FUNC_TABLE_SECTION_NAME): Likewise.
      	* lto-streamer-out.c (lto_output): Call output_offload_tables.
      	* lto-streamer.h (lto_section_type): Add LTO_section_offload_table.
      	(output_offload_tables, input_offload_tables): Declare.
      	* omp-low.c: Include common/common-target.h and lto-section-names.h.
      	(offload_funcs, offload_vars): New global <tree, va_gc> vectors.
      	(expand_omp_target): Add child_fn into offload_funcs vector.
      	(add_decls_addresses_to_decl_constructor): New function.
      	(omp_finish_file): Likewise.
      	* omp-low.h (omp_finish_file, offload_funcs, offload_vars): Declare.
      	* target.def (record_offload_symbol): New DEFHOOK.
      	* toplev.c: Include omp-low.h.
      	(compile_file): Call omp_finish_file.
      	* varpool.c: Include omp-low.h.
      	(varpool_node::get_create): Add decl into offload_vars vector.
      
      gcc/lto/
      	* lto/lto.c (read_cgraph_and_symbols): Call input_offload_tables.
      
      Co-Authored-By: Andrey Turetskiy <andrey.turetskiy@intel.com>
      Co-Authored-By: Bernd Schmidt <bernds@codesourcery.com>
      Co-Authored-By: Ilya Tocar <ilya.tocar@intel.com>
      Co-Authored-By: Michael Zolotukhin <michael.v.zolotukhin@intel.com>
      
      From-SVN: r217489
      Ilya Verbin committed