dumpfile.c (FIRST_ME_AUTO_NUMBERED_DUMP): Bump to 4.
[gcc.git] / gcc / ChangeLog
index 85515d98f98ee1292ccb1681a93e81e7dcba14ea..1e67efcca28e67a40ac8bdf5c2846fe1cbdeb4be 100644 (file)
@@ -1,3 +1,849 @@
+2018-06-08  Jan Hubicka  <hubicka@ucw.cz>
+
+       * dumpfile.c (FIRST_ME_AUTO_NUMBERED_DUMP): Bump to 4.
+
+2018-06-08  David Edelsohn  <dje.gcc@gmail.com>
+
+       * config/rs6000/rs6000.c (rs6000_passes_ieee128): Protect with #if
+       TARGET_ELF. 
+
+2018-06-08  Martin Liska  <mliska@suse.cz>
+
+       * tree-cfg.h (debug_function): Fix argument type to match
+        implementation.
+
+2018-06-08  Martin Liska  <mliska@suse.cz>
+
+       * config/powerpcspe/powerpcspe.c (rs6000_xcoff_visibility):
+        Remove usage of MPX-related (and removed) fields.
+       * config/rs6000/rs6000.c (rs6000_xcoff_visibility): Likewise.
+
+2018-06-08  David Malcolm  <dmalcolm@redhat.com>
+
+       * cfg.c (debug): Use TDF_NONE rather than 0.
+       * cfghooks.c (debug): Likewise.
+       * dumpfile.c (DUMP_FILE_INFO): Likewise; also for OPTGROUP.
+       (struct dump_option_value_info): Convert to...
+       (struct kv_pair): ...this template type.
+       (dump_options): Convert to kv_pair<dump_flags_t>; use TDF_NONE
+       rather than 0.
+       (optinfo_verbosity_options): Likewise.
+       (optgroup_options): Convert to kv_pair<optgroup_flags_t>; use
+       OPTGROUP_NONE.
+       (gcc::dump_manager::dump_register): Use optgroup_flags_t rather
+       than int for "optgroup_flags" param.
+       (dump_generic_expr_loc): Use dump_flags_t rather than int for
+       "dump_kind" param.
+       (dump_dec): Likewise.
+       (dump_finish): Use TDF_NONE rather than 0.
+       (gcc::dump_manager::opt_info_enable_passes): Use optgroup_flags_t
+       rather than int for "optgroup_flags" param.  Use TDF_NONE rather
+       than 0.  Update for change to option_ptr.
+       (opt_info_switch_p_1): Convert "optgroup_flags" param from int *
+       to optgroup_flags_t *.  Use TDF_NONE and OPTGROUP_NONE rather than
+       0.  Update for changes to optinfo_verbosity_options and
+       optgroup_options.
+       (opt_info_switch_p): Convert optgroup_flags from int to
+       optgroup_flags_t.
+       (dump_basic_block): Use dump_flags_t rather than int
+       for "dump_kind" param.
+       * dumpfile.h (TDF_ADDRESS, TDF_SLIM, TDF_RAW, TDF_DETAILS,
+       TDF_STATS, TDF_BLOCKS, TDF_VOPS, TDF_LINENO, TDF_UID)
+       TDF_STMTADDR, TDF_GRAPH, TDF_MEMSYMS, TDF_RHS_ONLY, TDF_ASMNAME,
+       TDF_EH, TDF_NOUID, TDF_ALIAS, TDF_ENUMERATE_LOCALS, TDF_CSELIB,
+       TDF_SCEV, TDF_GIMPLE, TDF_FOLDING, MSG_OPTIMIZED_LOCATIONS,
+       MSG_MISSED_OPTIMIZATION, MSG_NOTE, MSG_ALL, TDF_COMPARE_DEBUG,
+       TDF_NONE): Convert from macros to...
+       (enum dump_flag): ...this new enum.
+       (dump_flags_t): Update to use enum.
+       (operator|, operator&, operator~, operator|=, operator&=):
+       Implement for dump_flags_t.
+       (OPTGROUP_NONE, OPTGROUP_IPA, OPTGROUP_LOOP, OPTGROUP_INLINE,
+       OPTGROUP_OMP, OPTGROUP_VEC, OPTGROUP_OTHER, OPTGROUP_ALL):
+       Convert from macros to...
+       (enum optgroup_flag): ...this new enum.
+       (optgroup_flags_t): New typedef.
+       (operator|, operator|=): Implement for optgroup_flags_t.
+       (struct dump_file_info): Convert field "alt_flags" to
+       dump_flags_t.  Convert field "optgroup_flags" to
+       optgroup_flags_t.
+       (dump_basic_block): Use dump_flags_t rather than int for param.
+       (dump_generic_expr_loc): Likewise.
+       (dump_dec): Likewise.
+       (dump_register): Convert param "optgroup_flags" to
+       optgroup_flags_t.
+       (opt_info_enable_passes): Likewise.
+       * early-remat.c (early_remat::dump_edge_list): Use TDF_NONE rather
+       than 0.
+       * gimple-pretty-print.c (debug): Likewise.
+       * gimple-ssa-store-merging.c (bswap_replace): Likewise.
+       (merged_store_group::apply_stores): Likewise.
+       * gimple-ssa-strength-reduction.c (insert_initializers): Likewise.
+       * gimple.c (verify_gimple_pp): Likewise.
+       * graphite-poly.c (print_pbb_body): Likewise.
+       * passes.c (pass_manager::register_one_dump_file): Convert
+       local "optgroup_flags" to optgroup_flags_t.
+       * print-tree.c (print_node): Use TDF_NONE rather than 0.
+       (debug): Likewise.
+       (debug_body): Likewise.
+       * tree-pass.h (struct pass_data): Convert field "optgroup_flags"
+       to optgroup_flags_t.
+       * tree-pretty-print.c (print_struct_decl): Use TDF_NONE rather
+       than 0.
+       * tree-ssa-math-opts.c (convert_mult_to_fma_1): Likewise.
+       (convert_mult_to_fma): Likewise.
+       * tree-ssa-reassoc.c (undistribute_ops_list): Likewise.
+       * tree-ssa-sccvn.c (vn_eliminate): Likewise.
+       * tree-vect-data-refs.c (dump_lower_bound): Convert param
+       "dump_kind" to dump_flags_t.
+
+2018-06-08  Segher Boessenkool  <segher@kernel.crashing.org>
+
+       * config/rs6000/rs6000.c (min, max): Delete.
+
+2018-06-08  Segher Boessenkool  <segher@kernel.crashing.org>
+
+       * doc/invoke.texi (RS/6000 and PowerPC Options): Delete mention of
+       -mabi=spe and -mabi=no-spe.
+
+2018-06-08  Martin Liska  <mliska@suse.cz>
+
+       * ipa-pure-const.c (propagate_pure_const): Use ::get at places
+        where we expect an existing summary.
+
+2018-06-08  Martin Liska  <mliska@suse.cz>
+
+       * ipa-inline-analysis.c (simple_edge_hints): Use ::get method.
+       * ipa-inline.h (estimate_edge_growth): Likewise.
+
+2018-06-08  Martin Liska  <mliska@suse.cz>
+
+       * cgraph.c (function_version_hasher::hash): Use
+       cgraph_node::get_uid ().
+       (function_version_hasher::equal):
+       * cgraph.h (cgraph_node::get_uid): New method.
+       * ipa-inline.c (update_caller_keys): Use
+       cgraph_node::get_uid ().
+       (update_callee_keys): Likewise.
+       * ipa-utils.c (searchc): Likewise.
+       (ipa_reduced_postorder): Likewise.
+       * lto-cgraph.c (input_node): Likewise.
+       * passes.c (is_pass_explicitly_enabled_or_disabled): Likewise.
+       * symbol-summary.h (symtab_insertion): Likewise.
+       (symtab_removal): Likewise.
+       (symtab_duplication): Likewise.
+       * tree-pretty-print.c (dump_function_header): Likewise.
+       * tree-sra.c (convert_callers_for_node): Likewise.
+
+2018-06-08  Martin Liska  <mliska@suse.cz>
+
+       * cgraph.c (symbol_table::create_edge): Always assign a new
+       unique number.
+       (symbol_table::free_edge): Do not recycle numbers.
+       * cgraph.h (cgraph_edge::get): New method.
+       * symbol-summary.h (symtab_removal): Use it.
+       (symtab_duplication): Likewise.
+       (call_summary::hashable_uid): Remove.
+
+2018-06-08  Martin Liska  <mliska@suse.cz>
+
+       * ipa-inline-analysis.c (inline_edge_removal_hook): Remove.
+       (initialize_growth_caches): Remove.
+       (free_growth_caches): Likewise.
+       (do_estimate_edge_time): Use edge_growth_cache.
+       (do_estimate_edge_size): Likewise.
+       (do_estimate_edge_hints): Likewise.
+       * ipa-inline.c (reset_edge_caches): Likewise.
+       (recursive_inlining): Likewise.
+       (inline_small_functions): Likewise.
+       * ipa-inline.h (initialize_growth_caches): Remove.
+       (estimate_edge_size): Likewise.
+       (estimate_edge_time): Likewise.
+       (estimate_edge_hints): Likewise.
+       (reset_edge_growth_cache): Likewise.
+       * symbol-summary.h (call_summary::remove): New method.
+
+2018-06-08  Martin Liska  <mliska@suse.cz>
+
+       * ipa-cp.c (class edge_clone_summary): New summary.
+       (grow_edge_clone_vectors): Remove.
+       (ipcp_edge_duplication_hook): Remove.
+       (class edge_clone_summary_t): New call_summary class.
+       (ipcp_edge_removal_hook): Remove.
+       (edge_clone_summary_t::duplicate): New function.
+       (get_next_cgraph_edge_clone): Use edge_clone_summaries.
+       (create_specialized_node): Likewise.
+       (ipcp_driver): Initialize edge_clone_summaries and do not
+       register hooks.
+
+2018-06-08  Martin Liska  <mliska@suse.cz>
+
+       * symbol-summary.h (get): New function.
+       (call_summary::m_initialize_when_cloning): New class member.
+
+2018-06-08  Martin Liska  <mliska@suse.cz>
+
+       * cgraph.c (cgraph_node::remove): Do not recycle uid.
+       * cgraph.h (symbol_table::release_symbol): Do not pass uid.
+       (symbol_table::allocate_cgraph_symbol): Do not set uid.
+       * passes.c (uid_hash_t): Record removed_nodes by their uids.
+       (remove_cgraph_node_from_order): Use the removed_nodes set.
+       (do_per_function_toporder): Likwise.
+       * symbol-summary.h (symtab_insertion): Use cgraph_node::uid
+       instead of summary_uid.
+       (symtab_removal): Likewise.
+       (symtab_duplication): Likewise.
+
+2018-06-08  Martin Liska  <mliska@suse.cz>
+
+       * ipa-cp.c (ipcp_store_bits_results): Use
+       ipcp_transformation_sum.
+       (ipcp_store_vr_results): Likewise.
+       * ipa-prop.c (ipcp_grow_transformations_if_necessary): Renamed
+       to ...
+       (ipcp_transformation_initialize): ... this.
+       (ipa_set_node_agg_value_chain):
+       (ipa_node_params_t::duplicate): Use ipcp_transformation_sum.
+       (write_ipcp_transformation_info): Likewise.
+       (read_ipcp_transformation_info): Likewise.
+       (ipcp_update_bits): Likewise.
+       (ipcp_update_vr): Likewise.
+       (ipcp_transform_function): Likewise.
+       * ipa-prop.h: Rename ipcp_transformation_summary to
+       ipcp_transformation.
+       (class ipcp_transformation_t): New function summary.
+       (ipcp_get_transformation_summary): Use ipcp_transformation_sum.
+       (ipa_get_agg_replacements_for_node): Likewise.
+
+2018-06-08  Martin Liska  <mliska@suse.cz>
+
+       * ipa-pure-const.c (struct funct_state_d): Do it class instead
+       of struct.
+       (class funct_state_summary_t): New function_summary class.
+       (has_function_state): Remove.
+       (get_function_state): Likewise.
+       (set_function_state): Likewise.
+       (add_new_function): Likewise.
+       (funct_state_summary_t::insert): New function.
+       (duplicate_node_data): Remove.
+       (remove_node_data): Remove.
+       (funct_state_summary_t::duplicate): New function.
+       (register_hooks): Create new funct_state_summaries.
+       (pure_const_generate_summary): Use it.
+       (pure_const_write_summary): Likewise.
+       (pure_const_read_summary): Likewise.
+       (propagate_pure_const): Likewise.
+       (propagate_nothrow): Likewise.
+       (dump_malloc_lattice): Likewise.
+       (propagate_malloc): Likewise.
+       (execute): Do not register hooks, just remove summary
+       instead.
+       (pass_ipa_pure_const::pass_ipa_pure_const): Simplify
+       constructor.
+
+2018-06-08  Martin Liska  <mliska@suse.cz>
+
+       * ipa-reference.c (remove_node_data): Remove.
+       (duplicate_node_data): Likewise.
+       (class ipa_ref_var_info_summary_t): New class.
+       (class ipa_ref_opt_summary_t): Likewise.
+       (get_reference_vars_info): Use ipa_ref_var_info_summaries.
+       (get_reference_optimization_summary): Use
+       ipa_ref_opt_sum_summaries.
+       (set_reference_vars_info): Remove.
+       (set_reference_optimization_summary): Likewise.
+       (ipa_init): Create summaries.
+       (init_function_info): Use function summary.
+       (ipa_ref_opt_summary_t::duplicate): New function.
+       (ipa_ref_opt_summary_t::remove): New function.
+       (get_read_write_all_from_node): Fix GNU coding style.
+       (propagate): Use function summary.
+       (write_node_summary_p): Fix GNU coding style.
+       (stream_out_bitmap): Likewise.
+       (ipa_reference_read_optimization_summary): Use function summary.
+       (ipa_reference_c_finalize): Do not release hooks.
+
+2018-06-08  Martin Liska  <mliska@suse.cz>
+
+       * ipa-fnsummary.c (dump_ipa_call_summary): Use ::get method.
+       (analyze_function_body): Extract multiple calls of get_create.
+       * ipa-inline-analysis.c (simple_edge_hints): Likewise.
+       * ipa-inline.c (recursive_inlining): Use ::get method.
+       * ipa-inline.h (estimate_edge_growth): Likewise.
+
+2018-06-08  Martin Liska  <mliska@suse.cz>
+
+       * hsa-common.h (enum hsa_function_kind): Rename HSA_NONE to
+       HSA_INVALID.
+       (hsa_function_summary::hsa_function_summary): Use the new enum
+       value.
+       (hsa_gpu_implementation_p): Use hsa_summaries::get.
+       * hsa-gen.c (hsa_get_host_function): Likewise.
+       (get_brig_function_name): Likewise.
+       * ipa-hsa.c (process_hsa_functions): Likewise.
+       (ipa_hsa_write_summary): Likewise.
+       * symbol-summary.h (symtab_duplication): Use ::get function/
+       (get): New function.
+
+2018-06-08  Martin Liska  <mliska@suse.cz>
+
+       * config/i386/i386.c (ix86_can_inline_p): Use get_create instead
+       of get.
+       * hsa-common.c (hsa_summary_t::link_functions): Likewise.
+       (hsa_register_kernel): Likewise.
+       * hsa-common.h (hsa_gpu_implementation_p): Likewise.
+       * hsa-gen.c (hsa_get_host_function): Likewise.
+       (get_brig_function_name): Likewise.
+       (generate_hsa): Likewise.
+       (pass_gen_hsail::execute): Likewise.
+       * ipa-cp.c (ipcp_cloning_candidate_p): Likewise.
+       (devirtualization_time_bonus): Likewise.
+       (ipcp_propagate_stage): Likewise.
+       * ipa-fnsummary.c (redirect_to_unreachable): Likewise.
+       (edge_set_predicate): Likewise.
+       (evaluate_conditions_for_known_args): Likewise.
+       (evaluate_properties_for_edge): Likewise.
+       (ipa_fn_summary::reset): Likewise.
+       (ipa_fn_summary_t::duplicate): Likewise.
+       (dump_ipa_call_summary): Likewise.
+       (ipa_dump_fn_summary): Likewise.
+       (analyze_function_body): Likewise.
+       (compute_fn_summary): Likewise.
+       (estimate_edge_devirt_benefit): Likewise.
+       (estimate_edge_size_and_time): Likewise.
+       (estimate_calls_size_and_time): Likewise.
+       (estimate_node_size_and_time): Likewise.
+       (inline_update_callee_summaries): Likewise.
+       (remap_edge_change_prob): Likewise.
+       (remap_edge_summaries): Likewise.
+       (ipa_merge_fn_summary_after_inlining): Likewise.
+       (ipa_update_overall_fn_summary): Likewise.
+       (read_ipa_call_summary): Likewise.
+       (inline_read_section): Likewise.
+       (write_ipa_call_summary): Likewise.
+       (ipa_fn_summary_write): Likewise.
+       (ipa_free_fn_summary): Likewise.
+       * ipa-hsa.c (process_hsa_functions): Likewise.
+       (ipa_hsa_write_summary): Likewise.
+       (ipa_hsa_read_section): Likewise.
+       * ipa-icf.c (sem_function::merge): Likewise.
+       * ipa-inline-analysis.c (simple_edge_hints): Likewise.
+       (do_estimate_edge_time): Likewise.
+       (estimate_size_after_inlining): Likewise.
+       (estimate_growth): Likewise.
+       (growth_likely_positive): Likewise.
+       * ipa-inline-transform.c (clone_inlined_nodes): Likewise.
+       (inline_call): Likewise.
+       * ipa-inline.c (caller_growth_limits): Likewise.
+       (can_inline_edge_p): Likewise.
+       (can_inline_edge_by_limits_p): Likewise.
+       (compute_uninlined_call_time): Likewise.
+       (compute_inlined_call_time): Likewise.
+       (want_inline_small_function_p): Likewise.
+       (edge_badness): Likewise.
+       (update_caller_keys): Likewise.
+       (update_callee_keys): Likewise.
+       (recursive_inlining): Likewise.
+       (inline_small_functions): Likewise.
+       (inline_to_all_callers_1): Likewise.
+       (dump_overall_stats): Likewise.
+       (early_inline_small_functions): Likewise.
+       (early_inliner): Likewise.
+       * ipa-inline.h (estimate_edge_growth): Likewise.
+       * ipa-profile.c (ipa_propagate_frequency_1): Likewise.
+       * ipa-prop.c (ipa_make_edge_direct_to_target): Likewise.
+       * ipa-prop.h (IPA_NODE_REF): Likewise.
+       (IPA_EDGE_REF): Likewise.
+       * ipa-pure-const.c (malloc_candidate_p): Likewise.
+       (propagate_malloc): Likewise.
+       * ipa-split.c (execute_split_functions): Likewise.
+       * symbol-summary.h: Rename get to get_create.
+       (get): Likewise.
+       (get_create): Likewise.
+       * tree-sra.c (ipa_sra_preliminary_function_checks): Likewise.
+
+2018-06-08  Martin Liska  <mliska@suse.cz>
+
+       * symbol-summary.h (release): Move definition out of class
+       declaration.
+       (symtab_removal): Likewise.
+       (symtab_duplication): Likewise.
+
+2018-06-08  Martin Liska  <mliska@suse.cz>
+
+       * symbol-summary.h (function_summary): Move constructor
+       implementation out of class declaration.
+       (release): Likewise.
+       (symtab_insertion): Likewise.
+       (symtab_removal): Likewise.
+       (symtab_duplication): Likewise.
+       (get): Likewise.
+
+2018-06-08  Martin Liska  <mliska@suse.cz>
+
+       * Makefile.in: Remove support for MPX (macros, related functions,
+       fields in cgraph_node, ...).
+       * builtin-types.def (BT_BND): Likewise.
+       (BT_FN_BND_CONST_PTR): Likewise.
+       (BT_FN_CONST_PTR_BND): Likewise.
+       (BT_FN_VOID_PTR_BND): Likewise.
+       (BT_FN_BND_CONST_PTR_SIZE): Likewise.
+       (BT_FN_VOID_CONST_PTR_BND_CONST_PTR): Likewise.
+       * builtins.c (expand_builtin_memcpy_with_bounds): Likewise.
+       (expand_builtin_mempcpy_with_bounds): Likewise.
+       (expand_builtin_memset_with_bounds): Likewise.
+       (expand_builtin_memset_args): Likewise.
+       (std_expand_builtin_va_start): Likewise.
+       (expand_builtin): Likewise.
+       (expand_builtin_with_bounds): Likewise.
+       * builtins.def (DEF_BUILTIN_CHKP): Likewise.
+       (DEF_LIB_BUILTIN_CHKP): Likewise.
+       (DEF_EXT_LIB_BUILTIN_CHKP): Likewise.
+       (DEF_CHKP_BUILTIN): Likewise.
+       (BUILT_IN_MEMCPY): Likewise.
+       (BUILT_IN_MEMMOVE): Likewise.
+       (BUILT_IN_MEMPCPY): Likewise.
+       (BUILT_IN_MEMSET): Likewise.
+       (BUILT_IN_STPCPY): Likewise.
+       (BUILT_IN_STRCAT): Likewise.
+       (BUILT_IN_STRCHR): Likewise.
+       (BUILT_IN_STRCPY): Likewise.
+       (BUILT_IN_STRLEN): Likewise.
+       (BUILT_IN_MEMCPY_CHK): Likewise.
+       (BUILT_IN_MEMMOVE_CHK): Likewise.
+       (BUILT_IN_MEMPCPY_CHK): Likewise.
+       (BUILT_IN_MEMSET_CHK): Likewise.
+       (BUILT_IN_STPCPY_CHK): Likewise.
+       (BUILT_IN_STRCAT_CHK): Likewise.
+       (BUILT_IN_STRCPY_CHK): Likewise.
+       * calls.c (store_bounds): Likewise.
+       (emit_call_1): Likewise.
+       (special_function_p): Likewise.
+       (maybe_warn_nonstring_arg): Likewise.
+       (initialize_argument_information): Likewise.
+       (finalize_must_preallocate): Likewise.
+       (compute_argument_addresses): Likewise.
+       (expand_call): Likewise.
+       * cfgexpand.c (expand_call_stmt): Likewise.
+       (expand_return): Likewise.
+       (expand_gimple_stmt_1): Likewise.
+       (pass_expand::execute): Likewise.
+       * cgraph.c (cgraph_edge::redirect_call_stmt_to_callee): Likewise.
+       (cgraph_node::remove): Likewise.
+       (cgraph_node::dump): Likewise.
+       (cgraph_node::verify_node): Likewise.
+       * cgraph.h (chkp_function_instrumented_p): Likewise.
+       (symtab_node::get_alias_target): Likewise.
+       (cgraph_node::can_remove_if_no_direct_calls_and_refs_p): Likewise.
+       (cgraph_local_p): Likewise.
+       * cgraphbuild.c (cgraph_edge::rebuild_edges): Likewise.
+       (cgraph_edge::rebuild_references): Likewise.
+       * cgraphunit.c (varpool_node::finalize_decl): Likewise.
+       (walk_polymorphic_call_targets): Likewise.
+       (cgraph_node::expand_thunk): Likewise.
+       (symbol_table::output_weakrefs): Likewise.
+       * common/config/i386/i386-common.c (OPTION_MASK_ISA2_GENERAL_REGS_ONLY_UNSET): Likewise.
+       (ix86_handle_option): Likewise.
+       * config/i386/constraints.md: Likewise.
+       * config/i386/i386-builtin-types.def (BND): Likewise.
+       (VOID): Likewise.
+       (PVOID): Likewise.
+       (ULONG): Likewise.
+       * config/i386/i386-builtin.def (BDESC_END): Likewise.
+       (BDESC_FIRST): Likewise.
+       (BDESC): Likewise.
+       * config/i386/i386-c.c (ix86_target_macros_internal): Likewise.
+       * config/i386/i386-protos.h (ix86_bnd_prefixed_insn_p): Likewise.
+       * config/i386/i386.c (enum reg_class): Likewise.
+       (ix86_target_string): Likewise.
+       (ix86_option_override_internal): Likewise.
+       (ix86_conditional_register_usage): Likewise.
+       (ix86_valid_target_attribute_inner_p): Likewise.
+       (ix86_set_indirect_branch_type): Likewise.
+       (ix86_set_current_function): Likewise.
+       (ix86_function_arg_regno_p): Likewise.
+       (init_cumulative_args): Likewise.
+       (ix86_function_arg_advance): Likewise.
+       (ix86_function_arg): Likewise.
+       (ix86_pass_by_reference): Likewise.
+       (ix86_function_value_regno_p): Likewise.
+       (ix86_function_value_1): Likewise.
+       (ix86_function_value_bounds): Likewise.
+       (ix86_return_in_memory): Likewise.
+       (ix86_setup_incoming_vararg_bounds): Likewise.
+       (ix86_va_start): Likewise.
+       (indirect_thunk_need_prefix): Likewise.
+       (print_reg): Likewise.
+       (ix86_print_operand): Likewise.
+       (ix86_expand_call): Likewise.
+       (ix86_output_function_return): Likewise.
+       (reg_encoded_number): Likewise.
+       (BDESC_VERIFYS): Likewise.
+       (ix86_init_mpx_builtins): Likewise.
+       (ix86_init_builtins): Likewise.
+       (ix86_emit_cmove): Likewise.
+       (ix86_emit_move_max): Likewise.
+       (ix86_expand_builtin): Likewise.
+       (ix86_builtin_mpx_function): Likewise.
+       (ix86_get_arg_address_for_bt): Likewise.
+       (ix86_load_bounds): Likewise.
+       (ix86_store_bounds): Likewise.
+       (ix86_load_returned_bounds): Likewise.
+       (ix86_store_returned_bounds): Likewise.
+       (ix86_class_likely_spilled_p): Likewise.
+       (ix86_hard_regno_mode_ok): Likewise.
+       (x86_order_regs_for_local_alloc): Likewise.
+       (ix86_mitigate_rop): Likewise.
+       (ix86_bnd_prefixed_insn_p): Likewise.
+       (ix86_mpx_bound_mode): Likewise.
+       (ix86_make_bounds_constant): Likewise.
+       (ix86_initialize_bounds): Likewise.
+       (TARGET_LOAD_BOUNDS_FOR_ARG): Likewise.
+       (TARGET_STORE_BOUNDS_FOR_ARG): Likewise.
+       (TARGET_LOAD_RETURNED_BOUNDS): Likewise.
+       (TARGET_STORE_RETURNED_BOUNDS): Likewise.
+       (TARGET_CHKP_BOUND_MODE): Likewise.
+       (TARGET_BUILTIN_CHKP_FUNCTION): Likewise.
+       (TARGET_CHKP_FUNCTION_VALUE_BOUNDS): Likewise.
+       (TARGET_CHKP_MAKE_BOUNDS_CONSTANT): Likewise.
+       (TARGET_CHKP_INITIALIZE_BOUNDS): Likewise.
+       * config/i386/i386.h (TARGET_MPX): Likewise.
+       (TARGET_MPX_P): Likewise.
+       (VALID_BND_REG_MODE): Likewise.
+       (FIRST_BND_REG): Likewise.
+       (LAST_BND_REG): Likewise.
+       (enum reg_class): Likewise.
+       (BND_REG_P): Likewise.
+       (BND_REGNO_P): Likewise.
+       (BNDmode): Likewise.
+       (ADJUST_INSN_LENGTH): Likewise.
+       * config/i386/i386.md: Likewise.
+       * config/i386/i386.opt: Likewise.
+       * config/i386/linux-common.h (LIBMPX_LIBS): Likewise.
+       (defined): Likewise.
+       (LINK_MPX): Likewise.
+       (MPX_SPEC): Likewise.
+       (LIBMPX_SPEC): Likewise.
+       (LIBMPXWRAPPERS_SPEC): Likewise.
+       (CHKP_SPEC): Likewise.
+       * config/i386/predicates.md: Likewise.
+       * dbxout.c (dbxout_type): Likewise.
+       * doc/extend.texi: Likewise.
+       * doc/invoke.texi: Likewise.
+       * doc/md.texi: Likewise.
+       * doc/tm.texi: Likewise.
+       * doc/tm.texi.in: Likewise.
+       * dwarf2out.c (is_base_type): Likewise.
+       (gen_formal_types_die): Likewise.
+       (gen_subprogram_die): Likewise.
+       (gen_type_die_with_usage): Likewise.
+       (gen_decl_die): Likewise.
+       (dwarf2out_late_global_decl): Likewise.
+       * expr.c (expand_assignment): Likewise.
+       (emit_storent_insn): Likewise.
+       (store_expr_with_bounds): Likewise.
+       (store_expr): Likewise.
+       (expand_expr_real_1): Likewise.
+       * expr.h (store_expr_with_bounds): Likewise.
+       * function.c (use_register_for_decl): Likewise.
+       (struct bounds_parm_data): Likewise.
+       (assign_parms_augmented_arg_list): Likewise.
+       (assign_parm_find_entry_rtl): Likewise.
+       (assign_parm_is_stack_parm): Likewise.
+       (assign_parm_load_bounds): Likewise.
+       (assign_bounds): Likewise.
+       (assign_parms): Likewise.
+       (expand_function_start): Likewise.
+       * gcc.c (CHKP_SPEC): Likewise.
+       * gimple-fold.c (gimple_fold_builtin_memory_op): Likewise.
+       * gimple-ssa-warn-restrict.c (builtin_access::builtin_access): Likewise.
+       (wrestrict_dom_walker::check_call): Likewise.
+       * gimple.c (gimple_build_call_from_tree): Likewise.
+       * gimple.h (enum gf_mask): Likewise.
+       (gimple_call_with_bounds_p): Likewise.
+       (gimple_call_set_with_bounds): Likewise.
+       * gimplify.c (gimplify_init_constructor): Likewise.
+       * ipa-cp.c (initialize_node_lattices): Likewise.
+       (propagate_constants_across_call): Likewise.
+       (find_more_scalar_values_for_callers_subset): Likewise.
+       * ipa-hsa.c (process_hsa_functions): Likewise.
+       * ipa-icf-gimple.c (func_checker::compare_gimple_call): Likewise.
+       * ipa-icf.c (sem_function::merge): Likewise.
+       * ipa-inline.c (early_inliner): Likewise.
+       * ipa-pure-const.c (warn_function_noreturn): Likewise.
+       (warn_function_cold): Likewise.
+       (propagate_pure_const): Likewise.
+       * ipa-ref.h (enum GTY): Likewise.
+       * ipa-split.c (find_retbnd): Likewise.
+       (consider_split): Likewise.
+       (split_function): Likewise.
+       * ipa-visibility.c (cgraph_externally_visible_p): Likewise.
+       * ipa.c (walk_polymorphic_call_targets): Likewise.
+       (symbol_table::remove_unreachable_nodes): Likewise.
+       (process_references): Likewise.
+       (cgraph_build_static_cdtor_1): Likewise.
+       * lto-cgraph.c (lto_output_node): Likewise.
+       (output_refs): Likewise.
+       (compute_ltrans_boundary): Likewise.
+       (input_overwrite_node): Likewise.
+       (input_node): Likewise.
+       (input_cgraph_1): Likewise.
+       * params.def (PARAM_CHKP_MAX_CTOR_SIZE): Likewise.
+       * passes.c (pass_manager::execute_early_local_passes): Likewise.
+       (class pass_chkp_instrumentation_passes): Likewise.
+       (make_pass_chkp_instrumentation_passes): Likewise.
+       * passes.def: Likewise.
+       * rtl.h (struct GTY): Likewise.
+       (CALL_EXPR_WITH_BOUNDS_P): Likewise.
+       * stor-layout.c (layout_type): Likewise.
+       * symtab.c: Likewise.
+       * target.def: Likewise.
+       * targhooks.c (default_chkp_bound_type): Likewise.
+       (default_chkp_bound_mode): Likewise.
+       (default_builtin_chkp_function): Likewise.
+       (default_chkp_function_value_bounds): Likewise.
+       (default_chkp_make_bounds_constant): Likewise.
+       (default_chkp_initialize_bounds): Likewise.
+       * targhooks.h (default_chkp_bound_type): Likewise.
+       (default_chkp_bound_mode): Likewise.
+       (default_builtin_chkp_function): Likewise.
+       (default_chkp_function_value_bounds): Likewise.
+       (default_chkp_make_bounds_constant): Likewise.
+       (default_chkp_initialize_bounds): Likewise.
+       * toplev.c (compile_file): Likewise.
+       (process_options): Likewise.
+       * tree-core.h (DEF_BUILTIN): Likewise.
+       (DEF_BUILTIN_CHKP): Likewise.
+       * tree-inline.c (declare_return_variable): Likewise.
+       (remap_gimple_stmt): Likewise.
+       (copy_bb): Likewise.
+       (initialize_inlined_parameters): Likewise.
+       (expand_call_inline): Likewise.
+       * tree-pass.h (make_pass_ipa_chkp_versioning): Likewise.
+       (make_pass_ipa_chkp_early_produce_thunks): Likewise.
+       (make_pass_ipa_chkp_produce_thunks): Likewise.
+       (make_pass_chkp): Likewise.
+       (make_pass_chkp_opt): Likewise.
+       (make_pass_chkp_instrumentation_passes): Likewise.
+       * tree-pretty-print.c (dump_generic_node): Likewise.
+       * tree-ssa-ccp.c (insert_clobber_before_stack_restore): Likewise.
+       * tree-ssa-dce.c (propagate_necessity): Likewise.
+       (eliminate_unnecessary_stmts): Likewise.
+       * tree-ssa-pre.c (create_expression_by_pieces): Likewise.
+       * tree-ssa-sccvn.c (copy_reference_ops_from_call): Likewise.
+       * tree-ssa-sccvn.h: Likewise.
+       * tree-ssa-strlen.c (get_string_length): Likewise.
+       (valid_builtin_call): Likewise.
+       (adjust_last_stmt): Likewise.
+       (handle_builtin_strchr): Likewise.
+       (handle_builtin_strcpy): Likewise.
+       (handle_builtin_stxncpy): Likewise.
+       (handle_builtin_memcpy): Likewise.
+       (handle_builtin_strcat): Likewise.
+       (strlen_check_and_optimize_stmt): Likewise.
+       * tree-stdarg.c (expand_ifn_va_arg_1): Likewise.
+       * tree-streamer-in.c: Likewise.
+       * tree-streamer.c (record_common_node): Likewise.
+       * tree.c (tree_code_size): Likewise.
+       (wide_int_to_tree_1): Likewise.
+       (type_contains_placeholder_1): Likewise.
+       (build_common_tree_nodes): Likewise.
+       * tree.def (POINTER_BOUNDS_TYPE): Likewise.
+       * tree.h (POINTER_BOUNDS_TYPE_P): Likewise.
+       (POINTER_BOUNDS_P): Likewise.
+       (BOUNDED_TYPE_P): Likewise.
+       (BOUNDED_P): Likewise.
+       (CALL_WITH_BOUNDS_P): Likewise.
+       (pointer_bounds_type_node): Likewise.
+       * value-prof.c (gimple_ic): Likewise.
+       * var-tracking.c (vt_add_function_parameters): Likewise.
+       * varasm.c (make_decl_rtl): Likewise.
+       (assemble_start_function): Likewise.
+       (output_constant): Likewise.
+       (maybe_assemble_visibility): Likewise.
+       * varpool.c (ctor_for_folding): Likewise.
+       * chkp-builtins.def: Remove.
+       * ipa-chkp.c: Remove.
+       * ipa-chkp.h: Remove.
+       * rtl-chkp.c: Remove.
+       * rtl-chkp.h: Remove.
+       * tree-chkp-opt.c: Remove.
+       * tree-chkp.c: Remove.
+       * tree-chkp.h: Remove.
+
+2018-06-07  Carl Love  <cel@us.ibm.com>
+
+       * gcc/config/rs6000/vsx.md (vextract_fp_from_shorth,
+       vextract_fp_from_shortl): Add BE support.
+
+2018-06-07  Paul Koning  <ni1d@arrl.net>
+
+       * compare-elim.c (try_merge_compare): Don't merge compare if
+       address contains a side effect.
+       (try_eliminate_compare): Likewise.
+
+2018-06-07  Olga Makhotina  <olga.makhotina@intel.com>
+
+       * config.gcc: Support "tremont".
+       * config/i386/driver-i386.c (host_detect_local_cpu): Detect "tremont".
+       * config/i386/i386-c.c (ix86_target_macros_internal): Handle
+       PROCESSOR_TREMONT.
+       * config/i386/i386.c (m_TREMONT): Define.
+       (processor_target_table): Add "tremont".
+       (PTA_TREMONT): Define.
+       (ix86_lea_outperforms): Add TARGET_TREMONT.
+       (get_builtin_code_for_version): Handle PROCESSOR_TREMONT.
+       (fold_builtin_cpu): Add M_INTEL_TREMONT, replace M_INTEL_GOLDMONT
+       and M_INTEL_GOLDMONT_PLUS.
+       (fold_builtin_cpu): Add "tremont".
+       (ix86_add_stmt_cost): Add TARGET_TREMONT.
+       (ix86_option_override_internal): Add "tremont".
+       * config/i386/i386.h (processor_costs): Define TARGET_TREMONT.
+       (processor_type): Add PROCESSOR_TREMONT.
+       * config/i386/x86-tune.def: Add m_TREMONT.
+       * doc/invoke.texi: Add tremont as x86 -march=/-mtune= CPU type.
+
+2018-06-07  Jozef Lawrynowicz  <jozef.l@mittosystems.com>
+
+       * gcc/config/msp430/msp430.c (msp430_mcu_name): Set the "i" in the
+       symbol defined for msp430i* devices to be lower case.
+
+       gcc/testsuite/gcc.target/msp430/
+       * msp430i-device-symbol.c: New test.
+       * msp430f-device-symbol.c: New test.
+       * msp430.h: New test header file.
+
+2018-06-07  Richard Biener  <rguenther@suse.de>
+
+       * graphite-sese-to-poly.c (extract_affine): Avoid unneded
+       wrapping.  Properly wrap the result of a BIT_NOT_EXPR.
+       Properly wrap signed arithmetic if overflow wraps.
+
+2018-06-07  Jakub Jelinek  <jakub@redhat.com>
+
+       PR tree-optimization/69615
+       * tree-ssa-reassoc.c (optimize_range_tests_var_bound): If rhs2 is lhs
+       of a cast from a same precision integral SSA_NAME in a bb dominated
+       by first_bb, retry with rhs2 set to the rhs1 of the cast.  Don't emit
+       cast to utype if rhs2 has already a compatible type.
+
+2018-06-07  Richard Biener  <rguenther@suse.de>
+
+       PR tree-optimization/85935
+       * graphite-scop-detection.c (find_params_in_bb): Analyze
+       condition operands with respect to the correct loop.  Assert
+       the analysis doesn't fail.
+
+2018-06-04  Carl Love  <cel@us.ibm.com>
+
+       * gcc/config/rs6000/vsx.md (first_match_index_<mode>): Calculate index
+       using natural element order.  Use gen_lshrsi3 instead of gen_ashrsi3
+       as it is slightly cheaper.
+       (first_match_or_eos_index_<mode>):
+       Calculate index using natural element order.
+       (first_match_index_<mode>):
+       Calculate index using natural element order.
+       (first_match_or_eos_index_<mode>):
+       Calculate index using natural order.
+       (define_insn vclzlsbb): Change to define_insn vclzlsbb_<mode>.
+       for BE and LE modes.
+       * gcc/config/rs6000/rs6000-c.c: Rename P9V_BUILTIN_VCLZLSBB,
+       P9V_BUILTIN_VCLZLSBB_V16QI.
+       * gcc/config/rs6000/rs6000-builtin.def: Make VCLZLSBB mode
+       specific.
+
+2018-06-06  Kelvin Nilsen  <kelvin@gcc.gnu.org>
+
+       * doc/extend.texi (PowerPC AltiVec Built-in Functions): Adjust
+       indentation and line wrap for many prototypes.  Add missing
+       @smallexample directives around block of prototypes for vec_xl and
+       vec_xst.
+
+2018-06-05  Michael Meissner  <meissner@linux.ibm.com>
+
+       * config/rs6000/rs6000.c (rs6000_passes_ieee128): New boolean to
+       track if we pass or return IEEE 128-bit floating point.
+       (ieee128_mangling_gcc_8_1): New boolean to say whether to generate
+       C++ mangling that is compatible with GCC 8.1.
+       (TARGET_ASM_GLOBALIZE_DECL_NAME): Override target hook.
+       (init_cumulative_args): Note if we pass or return IEEE 128-bit
+       floating point types.
+       (rs6000_function_arg_advance_1): Likewise.
+       (rs6000_mangle_type): Optionally generate mangled names that match
+       what GCC 8.1 generated for IEEE 128-bit floating point types.
+       (rs6000_globalize_decl_name): If we have an external function that
+       passes or returns IEEE 128-bit types, generate a weak reference
+       from the mangled name used in GCC 8.1 to the current mangled
+       name.
+       (rs6000_init_builtins): Make __ibm128 use the long double type if
+       long double is IBM extended double.  Make __float128 use the long
+       double type if long double is IEEE 128-bit.
+
+       PR target/85657
+       * config/rs6000/rs6000-builtin.def (BU_IBM128_2): New helper
+       macro for __ibm128 built-in functions.
+       (PACK_IF): Add __ibm128 pack/unpack functions.
+       (UNPACK_IF): Likewise.
+       * config/rs6000/rs6000.c (rs6000_builtin_mask_calculate): Do not
+       enable long double built-in functions if long double is IEEE
+       128-bit floating point.
+       (rs6000_invalid_builtin): Update long double built-in function
+       error message.
+       (rs6000_expand_builtin): For PACK_IF and UNPACK_IF built-in
+       functions, adjust the built-in function to use the long double
+       built-in function if __ibm128 and long double are the same type.
+       * doc/extend.texi (PowerPC builtins): Update documention for
+       __builtin_{,un}pack_longdouble.  Add documentation for
+       __builtin_{,un}pack_ibm128.
+
+2018-06-06  Jim Wilson  <jimw@sifive.com>
+
+       * config/riscv/riscv.c (enum riscv_privilege_levels): New.
+       (struct machine_function): New field interrupt_mode.
+       (riscv_handle_type_attribute): New function.  Add forward declaration.
+       (riscv_attribute_table) <interrupt>: Use riscv_handle_type_attribute.
+       (riscv_expand_epilogue): Check interrupt_mode field.
+       (riscv_set_current_function): Check interrupt attribute args and
+       set interrupt_mode field.
+       * config/riscv/riscv.md (UNSPECV_SRET, UNSPECV_URET): New.
+       (riscv_sret, riscv_uret): New.
+       * doc/extend.texi (RISC-V Function Attributes) <interrupt>: Document
+       new arguments to interrupt attribute.
+
+2018-06-06  Peter Bergner  <bergner@vnet.ibm.com>
+
+       PR target/63177
+       * /config/rs6000/rs6000.h (ASM_CPU_SPEC): Add support for -mpower9.
+       Don't handle -mcpu=power8 if -mpower9-vector is also used.
+
+2018-06-06  Kelvin Nilsen  <kelvin@gcc.gnu.org>
+
+       * config/rs6000/rs6000-builtin.def (VSX_BUILTIN_VEC_LD,
+       VSX_BUILTIN_VEC_ST): Add comment to explain non-traditional uses.
+       * config/rs6000/rs6000-c.c (altivec_overloaded_builtins): Remove
+       several redundant entries.
+
+2018-06-06  David Malcolm  <dmalcolm@redhat.com>
+
+       * config/i386/i386-protos.h (ix86_expand_call): Strengthen return
+       type from "rtx" to "rtx_insn *".
+       * config/i386/i386.c (ix86_expand_split_stack_prologue): Likewise
+       for local "call_insn", removing cast.
+       (ix86_expand_call): Likewise, introducing a "call_insn" local.
+
+2018-06-06  Eric Botcazou  <ebotcazou@adacore.com>
+
+       PR tree-optimization/86066
+       * gimple-ssa-store-merging.c (process_store): Do not bypass BIT_NOT_EXPR
+       for BIT_INSERT_EXPR stores.
+
+2018-06-06  Richard Biener  <rguenther@suse.de>
+
+       PR tree-optimization/86062
+       * tree-ssa-sccvn.c (vn_reference_lookup_3): Handle arbitrary
+       component refs ontop
+       of to be offsetted base.
+
 2018-06-06  Jozef Lawrynowicz  <jozef.l@mittosystems.com>
 
        * gcc/config/msp430/msp430.c (msp430_attr): Allow interrupt handlers