+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
+ to be static and remove check on interrupt attribute name.
+
+ gcc/testsuite/gcc.target/msp430/
+ * function-attributes-4.c: New test.
+ * static-interrupts.c: New test.
+
+2018-06-05 Kelvin Nilsen <kelvin@gcc.gnu.org>
+
+ * doc/extend.texi (PowerPC AltiVec Built-in Functions): Remove
+ volatile qualifier from vec_lvsl and vec_lvsr argument prototypes.
+
+2018-06-05 Steve Ellcey <sellcey@cavium.com>
+
+ PR target/79924
+ * config/aarch64/aarch64-protos.h (aarch64_err_no_fpadvsimd): Remove
+ second argument.
+ * config/aarch64/aarch64-protos..c (aarch64_err_no_fpadvsimd):
+ Remove second argument, change how error is called.
+ (aarch64_layout_arg): Remove second argument from
+ aarch64_err_no_fpadvsimd call.
+ (aarch64_init_cumulative_args): Ditto.
+ (aarch64_gimplify_va_arg_expr): Ditto.
+ * config/aarch64/aarch64.md (mov<mode>): Ditto.
+
+2018-06-05 Uros Bizjak <ubizjak@gmail.com>
+
+ * config/i386/i386.md (simple_return_indirect_internal): New expander.
+ (*simple_return_indirect_internal<mode>): Rename from
+ simple_return_indirect_internal. Use W mode iterator.
+ (rstorssp): New expander.
+ (*rstorssp<mode>): Rename from rstorssp. Use P mode iterator.
+ (clrssbsy): New expander.
+ (*clrssbsy<mode>): Rename from clrssbsy. Use P mode iterator.
+
+2018-06-05 Andre Vieira <andre.simoesdiasvieira@arm.com>
+
+ * config/arm/arm_cmse.h (cmse_nsfptr_create): Change typeof to
+ __typeof__.
+ (cmse_check_pointed_object): Likewise.
+
+2018-06-05 Martin Liska <mliska@suse.cz>
+
+ PR gcov-profile/47618
+ * doc/invoke.texi: Document how -fprofile-dir format
+ is extended.
+
+2018-06-05 Richard Biener <rguenther@suse.de>
+
+ * tree-cfgcleanup.c (cleanup_control_flow_pre): For edge
+ removal pretend DOM info isn't available so we do not update
+ it and only remove edges, not dominated blocks. Actually free
+ DOM info in case we removed something. Remove unreachable blocks.
+ (mfb_keep_latches): Work with either DOM info or marked backedges.
+ (cleanup_tree_cfg_noloop): Do not remove unreachable blocks
+ first. Mark backedges if DOM info isn't available.
+ (Re-)compute DOM info after cleanup_control_flow_pre.
+
+2018-06-05 Richard Biener <rguenther@suse.de>
+
+ * tree-cfg.c (struct locus_discrim_map): Store line, not location.
+ (locus_discrim_hasher::hash): Adjust.
+ (locus_discrim_hasher::equal): Likewise.
+ (next_discriminator_for_locus): Work on line directly.
+ (same_line_p): Pass in expanded locus1 as well.
+ (assign_discriminators): Avoid redundant location expansions.
+
+2018-06-05 Richard Biener <rguenther@suse.de>
+
+ PR tree-optimization/86046
+ * tree-ssa.c (maybe_optimize_var): Clear DECL_GIMPLE_REG_P
+ if required after clearing TREE_ADDRESSABLE.
+
+2018-06-05 Richard Biener <rguenther@suse.de>
+
+ PR tree-optimization/86047
+ * tree-ssa-loop.c (for_each_index): Glob handling of all
+ decls and constants and really handle all of them.
+
+2018-06-05 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
+
+ PR target/81497
+ * config/arm/arm-builtins.c (arm_type_qualifiers): Add
+ qualifier_void_pointer and qualifier_const_void_pointer.
+ (arm_ldc_qualifiers, arm_stc_qualifiers): Use the above.
+ (arm_init_builtins): Handle the above.
+ * config/arm/arm_acle.h (__arm_cdp, __arm_ldc, __arm_ldcl, __arm_stc,
+ __arm_stcl, __arm_mcr, __arm_cdp2, __arm_ldc2, __arm_ldcl2, __arm_stc2,
+ __arm_stcl2,__arm_mcr2, __arm_mcrr, __arm_mcrr2): Remove return for
+ void intrinsics.
+
+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>
+
+ PR gcov-profile/84846
+ * gcov.c (output_lines): Print working directory only
+ in intermediate format.
+
+2018-06-05 Andreas Krebbel <krebbel@linux.ibm.com>
+
+ * config/s390/s390-builtin-types.def: Add void function type.
+ * config/s390/s390-builtins.def: Use the function type for the
+ tbeginc builtin.
+
+2018-06-04 Jim Wilson <jimw@sifive.com>
+
+ * config/riscv/riscv-protos.h (riscv_expand_epilogue): Change bool arg
+ to int.
+ * config/riscv/riscv.c (riscv_for_each_saved_reg): New args epilogue
+ and maybe_eh_return. Change regno to unsigned int. Use new args to
+ handle EH_RETURN_DATA_REGNO registers properly.
+ (riscv_expand_prologue): Pass new args to riscv_for_each_saved_reg.
+ (riscv_expand_epilogue): Update comment. Change argument name and
+ type. Update code to use new name and type. Pass new args to
+ riscv_for_each_saved_reg. Only use EH_RETURN_STACKADJ_RTX when
+ EXCEPTION_RETURN.
+ * config/riscv/riscv.md (NORMAL_RETURN): New.
+ (SIBCALL_RETURN, EXCEPTION_RETURN): New.
+ (epilogue, sibcall_epilogue): Update riscv_expand_epilogue arg.
+ (eh_return): Call gen_eh_return_internal and emit barrier.
+ (eh_return_internal): Call riscv_expand_epilogue.
+
+2018-06-04 Eric Botcazou <ebotcazou@adacore.com>
+
+ * gimple-ssa-store-merging.c (struct merged_store_group): Move up
+ bit_insertion field and declare can_be_merged_into method.
+ (merged_store_group::can_be_merged_into): New method.
+ (imm_store_chain_info::coalesce_immediate): Call it to decide whether
+ consecutive non-overlapping stores can be merged. Turn MEM_REF stores
+ into BIT_INSERT_EXPR stores if the group contains a non-MEM_REF store.
+
+2018-06-04 Richard Biener <rguenther@suse.de>
+
+ PR tree-optimization/85955
+ * builtins.c (fold_builtin_sincos): Convert pointers to
+ destination to appropriate type before dereferencing.
+
+2018-06-04 Segher Boessenkool <segher@kernel.crashing.org>
+
+ * config/rs6000/rs6000.md (abs<mode>2 for FLOAT128): Handle IFmode.
+
+2018-06-04 Richard Sandiford <richard.sandiford@linaro.org>
+
+ * expr.c (expand_expr_real_1): Force the operand into memory if
+ its TYPE_MODE is BLKmode and if there is no integer mode for
+ the number of bits being extracted.
+
+2018-06-04 Jakub Jelinek <jakub@redhat.com>
+
+ PR target/85832
+ PR target/86036
+ * config/i386/sse.md (<avx512>_eq<mode>3<mask_scalar_merge_name>_1):
+ Use vptestnm rather than vptestm in (=Yc,v,C) variant.
+
+2018-06-04 Richard Biener <rguenther@suse.de>
+
+ * tree-cfgcleanup.c (cleanup_tree_cfg_1): Fold into...
+ (cleanup_tree_cfg_noloop): ... single caller. Do
+ start_recording_case_labels later.
+
+2018-06-04 Sebastian Peryt <sebastian.peryt@intel.com>
+
+ * config/i386/cldemoteintrin.h: Change define from _X86INTRIN_H_INCLUDED
+ to _IMMINTRIN_H_INCLUDED.
+ * config/i386/pconfigintrin.h: Ditto.
+ * config/i386/waitpkgintrin.h: Ditto.
+ * config/i386/immintrin.h: Add includes for sgxintrin.h,
+ pconfigintrin.h, waitpkgintrin.h and cldemoteintrin.h.
+ * config/i386/x86intrin.h: Remove includes for mintrin.h, xmmintrin.h,
+ emmintrin.h, pmmintrin.h, tmmintrin.h, smmintrin.h, wmmintrin.h,
+ bmiintrin.h, bmi2intrin.h, lzcntintrin.h, sgxintrin.h, pconfigintrin.h,
+ waitpkgintrin.h and cldemoteintrin.h.
+
+2018-06-04 Richard Biener <rguenther@suse.de>
+
+ PR tree-optimization/86038
+ * tracer.c (find_best_successor): Check probability for
+ being initialized, bail out if not.
+
+2018-06-04 Richard Earnshaw <rearnsha@arm.com>
+
+ PR target/86003
+ * config/arm/arm-cpus.in (ALL_QUIRKS): Add xscale feature to the list
+ of bits to ignore when comparing architectures.
+
+2018-06-04 Jakub Jelinek <jakub@redhat.com>
+
+ PR tree-optimization/69615
+ * fold-const.c (merge_ranges): If range1 is - [x, x] and x is the
+ maximum or minimum of the type, try to merge it also as if
+ range1 is + [-, x - 1] or + [x + 1, -].
+
+ PR c++/86025
+ * tree.c (inchash::add_expr): Handle IDENTIFIER_NODE.
+
+2018-06-03 Eric Botcazou <ebotcazou@adacore.com>
+
+ PR tree-optimization/86034
+ * gimple-ssa-store-merging.c (output_merged_store): Convert the RHS to
+ the unsigned bitfield type in a bit insertion sequence if it does not
+ have a larger precision than the bitfield size.
+ (process_store): Also bypass widening conversions for BIT_INSERT_EXPR.
+
+2018-06-03 Kito Cheng <kito.cheng@gmail.com>
+
+ * config/nds32/nds32-peephole2.md: Add new patterns for code size.
+
+2018-06-03 Chung-Ju Wu <jasonwucj@gmail.com>
+
+ * config/nds32/nds32-opts.h (nds32_arch_type): Add ARCH_V3J.
+ * config/nds32/nds32.c (nds32_option_override): Consider ARCH_V3J.
+ * config/nds32/nds32.h (TARGET_ISA_V3): Add ARCH_V3J checking.
+ * config/nds32/nds32.opt (march): Add enum value Value(ARCH_V3J).
+
+2018-06-03 Chung-Ju Wu <jasonwucj@gmail.com>
+
+ * common/config/nds32/nds32-common.c (nds32_option_optimization_table):
+ Disable -fdelete-null-pointer-checks for ELF toolchain.
+
+2018-06-02 Chung-Ju Wu <jasonwucj@gmail.com>
+ Kito Cheng <kito.cheng@gmail.com>
+
+ * config.gcc (nds32*): Use nds32-linux.opt and nds32-elf.opt.
+ (nds32le-*-*, nds32be-*-*): Integrate checking process.
+ (nds32*-*-*): Add glibc and uclibc conditions.
+ * common/config/nds32/nds32-common.c (nds32_except_unwind_info): New.
+ (TARGET_EXCEPT_UNWIND_INFO): Define.
+ * config/nds32/elf.h: New file.
+ * config/nds32/linux.h: New file.
+ * config/nds32/nds32-elf.opt: New file.
+ * config/nds32/nds32-linux.opt: New file.
+ * config/nds32/nds32-fp-as-gp.c
+ (pass_nds32_fp_as_gp::gate): Consider TARGET_LINUX_ABI.
+ * config/nds32/nds32.c (nds32_conditional_register_usage): Consider
+ TARGET_LINUX_ABI.
+ (nds32_asm_file_end): Ditto.
+ (nds32_print_operand): Ditto.
+ (nds32_insert_attributes): Ditto.
+ (nds32_init_libfuncs): New function.
+ (TARGET_HAVE_TLS): Define.
+ (TARGET_INIT_LIBFUNCS): Define.
+ * config/nds32/nds32.h (TARGET_DEFAULT_RELAX): Apply different relax
+ spec content.
+ (TARGET_ELF): Apply different mcmodel setting.
+ (LINK_SPEC, LIB_SPEC, STARTFILE_SPEC, ENDFILE_SPEC): The content has
+ been migrated into elf.h and linux.h files.
+ * config/nds32/nds32.md (add_pc): Consider TARGET_LINUX_ABI.
+ * config/nds32/nds32.opt (mvh): Consider TARGET_LINUX_ABI.
+ (mcmodel): The content has been migrated into nds32-elf.opt and
+ nds32-linux.opt files.
+ * config/nds32/t-elf: New file.
+ * config/nds32/t-linux: New file.
+
+2018-06-02 Chung-Ju Wu <jasonwucj@gmail.com>
+ Shiva Chen <shiva0217@gmail.com>
+
+ * config/nds32/constants.md (unspec_volatile_element): Add
+ UNSPEC_VOLATILE_OMIT_FP_BEGIN and UNSPEC_VOLATILE_OMIT_FP_END.
+ * config/nds32/nds32-fp-as-gp.c: New implementation of fp_as_gp
+ optimization.
+ * config/nds32/nds32-protos.h (nds32_naked_function_p): Declare.
+ (make_pass_nds32_fp_as_gp): Declare.
+ * config/nds32/nds32.c (nds32_register_passes): Add fp_as_gp as one
+ optmization pass.
+ (nds32_asm_function_end_prologue): Remove unused asm output.
+ (nds32_asm_function_begin_epilogue): Remove unused asm output.
+ (nds32_asm_file_start): Output necessary fp_as_gp information.
+ (nds32_option_override): Adjust register usage.
+ (nds32_expand_prologue): Consider fp_as_gp situation.
+ (nds32_expand_prologue_v3push): Consider fp_as_gp situation.
+ * config/nds32/nds32.md (prologue): Check fp_as_gp_p and naked_p.
+ (epilogue): Ditto.
+ (return): Ditto.
+ (simple_return): Ditto.
+ (omit_fp_begin): Output special directive for fp_as_gp.
+ (omit_fp_end): Output special directive for fp_as_gp.
+ * config/nds32/nds32.opt (mfp-as-gp, mno-fp-as-gp, mforce-fp-as-gp,
+ mforbid-fp-as-gp): New options.
+
+2018-06-01 Mark Wielaard <mark@klomp.org>
+
+ * dwarf2out.c (dwarf2out_finish): Remove generation of
+ DW_AT_loclists_base.
+
+2018-06-01 Eric Botcazou <ebotcazou@adacore.com>
+
+ * gimple-ssa-store-merging.c: Include gimple-fold.h.
+ (struct store_immediate_info): Document BIT_INSERT_EXPR stores.
+ (struct merged_store_group): Add bit_insertion field.
+ (dump_char_array): Use standard hexadecimal format.
+ (merged_store_group::merged_store_group): Set bit_insertion to false.
+ (merged_store_group::apply_stores): Use optimal buffer size. Deal
+ with BIT_INSERT_EXPR stores. Move up code updating the mask and
+ also print the mask in the dump file.
+ (pass_store_merging::gate): Minor tweak.
+ (imm_store_chain_info::coalesce_immediate): Fix wrong association
+ of stores with groups in dump. Allow coalescing of BIT_INSERT_EXPR
+ stores with INTEGER_CST stores.
+ (count_multiple_uses) <BIT_INSERT_EXPR>: New case.
+ (imm_store_chain_info::output_merged_store): Add try_bitpos variable
+ and use it throughout. Generate bit insertion sequences if need be.
+ (pass_store_merging::process_store): Remove redundant condition.
+ Record stores from a SSA name to a bit-field with BIT_INSERT_EXPR.
+
+2018-06-01 Segher Boessenkool <segher@kernel.crashing.org>
+
+ * config/rs6000/rs6000.c (rs6000_mangle_type): Change the mangling of
+ the 128-bit floating point types. Fix function comment.
+
+2018-06-01 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
+
+ * config/aarch64/aarch64-simd.md
+ (aarch64_simd_vec_unpack<su>_lo_<mode>): Use UXTL and SXTL assembler
+ mnemonics.
+ (aarch64_simd_vec_unpack<su>_hi_<mode>): Use UXTL2 and SXTL2 assembler
+ mnemonics.
+
+2018-06-01 Richard Sandiford <richard.sandiford@linaro.org>
+
+ PR tree-optimization/85989
+ * gimple-ssa-backprop.c (backprop::m_visited_phis): New member
+ variable.
+ (backprop::intersect_uses): Check it when deciding whether this
+ is a backedge reference.
+ (backprop::process_block): Add each phi to m_visited_phis
+ after visiting it, then clear it at the end.
+
+2018-06-01 Richard Biener <rguenther@suse.de>
+
+ * tree-vectorizer.h (vect_dr_stmt): New function.
+ (vect_get_load_cost): Adjust.
+ (vect_get_store_cost): Likewise.
+ * tree-vect-data-refs.c (vect_analyze_data_ref_dependence):
+ Use vect_dr_stmt instead of DR_SMTT.
+ (vect_record_base_alignments): Likewise.
+ (vect_calculate_target_alignment): Likewise.
+ (vect_compute_data_ref_alignment): Likewise and make static.
+ (vect_update_misalignment_for_peel): Likewise.
+ (vect_verify_datarefs_alignment): Likewise.
+ (vector_alignment_reachable_p): Likewise.
+ (vect_get_data_access_cost): Likewise. Pass down
+ vinfo to vect_get_load_cost/vect_get_store_cost instead of DR.
+ (vect_get_peeling_costs_all_drs): Likewise.
+ (vect_peeling_hash_get_lowest_cost): Likewise.
+ (vect_enhance_data_refs_alignment): Likewise.
+ (vect_find_same_alignment_drs): Likewise.
+ (vect_analyze_data_refs_alignment): Likewise.
+ (vect_analyze_group_access_1): Likewise.
+ (vect_analyze_group_access): Likewise.
+ (vect_analyze_data_ref_access): Likewise.
+ (vect_analyze_data_ref_accesses): Likewise.
+ (vect_vfa_segment_size): Likewise.
+ (vect_small_gap_p): Likewise.
+ (vectorizable_with_step_bound_p): Likewise.
+ (vect_prune_runtime_alias_test_list): Likewise.
+ (vect_analyze_data_refs): Likewise.
+ (vect_supportable_dr_alignment): Likewise.
+ * tree-vect-loop-manip.c (get_misalign_in_elems): Likewise.
+ (vect_gen_prolog_loop_niters): Likewise.
+ * tree-vect-loop.c (vect_analyze_loop_2): Likewise.
+ * tree-vect-patterns.c (vect_recog_bool_pattern): Do not
+ modify DR_STMT.
+ (vect_recog_mask_conversion_pattern): Likewise.
+ (vect_try_gather_scatter_pattern): Likewise.
+ * tree-vect-stmts.c (vect_model_store_cost): Pass stmt_info
+ to vect_get_store_cost.
+ (vect_get_store_cost): Get stmt_info instead of DR.
+ (vect_model_load_cost): Pass stmt_info to vect_get_load_cost.
+ (vect_get_load_cost): Get stmt_info instead of DR.
+
+2018-06-01 Richard Biener <rguenther@suse.de>
+
+ PR middle-end/86017
+ * gimple-fold.c (var_decl_component_p): Also allow offsetted
+ vars wrapped in MEM_REFs.
+
+2018-06-01 Richard Sandiford <richard.sandiford@linaro.org>
+
+ * config/aarch64/aarch64.c (aarch64_ira_change_pseudo_allocno_class):
+ Fix subreg tests so that we only return a choice between
+ GENERAL_REGS and FP_REGS if the original classes included both.
+
2018-06-01 Richard Biener <rguenther@suse.de>
PR ipa/85960
(find_func_clobbers): Likewise.
(ipa_pta_execute): Likewise.
(create_variable_info_for): For functions that are ifunc_resolver
- resolve to a varinfo that contains the result of the resolver
- call.
+ resolve to a varinfo that contains the result of the resolver call.
(associate_varinfo_to_alias): Do not treat ifunc resolvers as
aliases.
2018-05-29 Martin Liska <mliska@suse.cz>
- PR gcov-profile/85759
+ PR gcov-profile/85759
* doc/gcov.texi: Document GCOV_ERROR_FILE and GCOV_EXIT_AT_ERROR
env variables.
2018-05-25 Jason Merrill <jason@redhat.com>
- PR c++/80485 - inline function non-zero address.
- * symtab.c (nonzero_address): Check DECL_COMDAT.
+ PR c++/80485 - inline function non-zero address.
+ * symtab.c (nonzero_address): Check DECL_COMDAT.
2018-05-25 Uros Bizjak <ubizjak@gmail.com>
2018-05-24 Roger Sayle <roger@nextmovesoftware.com>
- * fold-const.c (tree_nonzero_bits): New function.
- * fold-const.h (tree_nonzero_bits): Likewise.
- * match.pd (POPCOUNT): New patterns to fold BUILTIN_POPCOUNT and
- friends. POPCOUNT(x&1) => x&1, POPCOUNT(x)==0 => x==0, etc.
+ * fold-const.c (tree_nonzero_bits): New function.
+ * fold-const.h (tree_nonzero_bits): Likewise.
+ * match.pd (POPCOUNT): New patterns to fold BUILTIN_POPCOUNT and
+ friends. POPCOUNT(x&1) => x&1, POPCOUNT(x)==0 => x==0, etc.
2018-05-24 H.J. Lu <hongjiu.lu@intel.com>
* calls.c (maybe_warn_nonstring_arg): Fix a typo in a comment.
2018-05-22 Jackson Woodruff <jackson.woodruff@arm.com>
- Kyrylo Tkachov <kyrylo.tkachov@arm.com>
+ Kyrylo Tkachov <kyrylo.tkachov@arm.com>
* config/aarch64/aarch64-ldpstp.md: Replace uses of
aarch64_mem_pair_operand with memory_operand and delete operand swapping
Define prototype.
2018-05-22 Jackson Woodruff <jackson.woodruff@arm.com>
- Kyrylo Tkachov <kyrylo.tkachov@arm.com>
+ Kyrylo Tkachov <kyrylo.tkachov@arm.com>
* config/aarch64/aarch64.md: New patterns to generate stp
and ldp.
PR middle-end/85817
* ipa-pure-const.c (malloc_candidate_p): Remove the check integer_zerop
- for retval and return false if all args to phi are zero.
+ for retval and return false if all args to phi are zero.
2018-05-18 Richard Biener <rguenther@suse.de>
* doc/invoke.texi: Move -floop-unroll-and-jam documentation
directly after that of -floop-interchange. Indicate that both
- options are enabled by default when specifying -O3.
+ options are enabled by default when specifying -O3.
2018-05-18 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
_mm512_setzero): New intrinsics.
2018-05-17 James Greenhalgh <james.greenhalgh@arm.com>
- Kyrylo Tkachov <kyrylo.tkachov@arm.com>
+ Kyrylo Tkachov <kyrylo.tkachov@arm.com>
* config/aarch64/aarch64.c (aarch64_expand_vector_init): Modify
code generation for cases where splatting a value is not useful.
* simplify-rtx.c (simplify_ternary_operation): Simplify
- vec_merge across a vec_duplicate and a paradoxical subreg forming a vector
- mode to a vec_concat.
+ vec_merge across a vec_duplicate and a paradoxical subreg forming
+ a vector mode to a vec_concat.
2018-05-17 Olga Makhotina <olga.makhotina@intel.com>
2018-05-15 Prathamesh Kulkarni <prathamesh.kulkarni@linaro.org>
PR ipa/85734
- * ipa-pure-const.c (warn_function_malloc): Pass value of known_finite param
- as true in call to suggest_attribute.
+ * ipa-pure-const.c (warn_function_malloc): Pass value of known_finite
+ param as true in call to suggest_attribute.
2018-05-14 Segher Boessenkool <segher@kernel.crashing.org>
2018-05-11 Martin Liska <mliska@suse.cz>
- PR sanitizer/85556
+ PR sanitizer/85556
* doc/extend.texi: Document LLVM style format for no_sanitize
attribute.
(thunderxt88_prefetch_tune): Likewise.
(thunderx_prefetch_tune): Likewise.
(thunderx2t99_prefetch_tune): Likewise.
- (qdf24xx_prefetch_tune): Likewise. Set prefetch_dynamic_strides to false.
+ (qdf24xx_prefetch_tune): Likewise. Set prefetch_dynamic_strides
+ to false.
(aarch64_override_options_internal): Update to set
PARAM_PREFETCH_DYNAMIC_STRIDES.
* doc/invoke.texi (prefetch-dynamic-strides): Document new option.
(thunderxt88_prefetch_tune): Likewise.
(thunderx_prefetch_tune): Likewise.
(thunderx2t99_prefetch_tune): Likewise.
- (qdf24xx_prefetch_tune): Likewise. Set prefetch_dynamic_strides to false.
+ (qdf24xx_prefetch_tune): Likewise. Set prefetch_dynamic_strides
+ to false.
(aarch64_override_options_internal): Update to set
PARAM_PREFETCH_DYNAMIC_STRIDES.
* doc/invoke.texi (prefetch-dynamic-strides): Document new option.
2018-04-20 Carl Love <cel@us.ibm.com>
- PR target/83402
- * config/rs6000/rs6000-c.c (rs6000_gimple_fold_builtin): Add
- size check for arg0.
+ PR target/83402
+ * config/rs6000/rs6000-c.c (rs6000_gimple_fold_builtin): Add
+ size check for arg0.
2018-04-20 Nathan Sidwell <nathan@codesourcery.com>
Tom de Vries <tom@codesourcery.com>
2018-04-19 Toon Moene <toon@moene.org>
* doc/invoke.texi: Add -floop-unroll-and-jam to options enabled
- by -O3.
+ by -O3.
2018-04-19 Jakub Jelinek <jakub@redhat.com>
2018-04-19 Sebastian Peryt <sebastian.peryt@intel.com>
- * common/config/i386/i386-common.c
+ * common/config/i386/i386-common.c
(OPTION_MASK_ISA_MOVDIRI_SET, OPTION_MASK_ISA_MOVDIR64B_SET,
OPTION_MASK_ISA_MOVDIRI_UNSET,
OPTION_MASK_ISA_MOVDIR64B_UNSET): New defines.
(VOID, PVOID, PCVOID)): New function types.
* config/i386/i386-builtin.def (__builtin_ia32_directstoreu_u32,
__builtin_ia32_directstoreu_u64,
- __builtin_ia32_movdir64b): New builtins.
+ __builtin_ia32_movdir64b): New builtins.
* config/i386/i386-c.c (__MOVDIRI__, __MOVDIR64B__): New.
* config/i386/i386.c (ix86_target_string): Added -mmovdir64b
and -mmovdiri.
PR ipa/85329
* multiple_target.c (create_dispatcher_calls): Set apostrophes
for target_clone error message. Make default implementation
- clone to be a local declaration.
+ clone to be a local declaration.
(separate_attrs): Add new argument and check for an empty
string.
(expand_target_clones): Handle it.
* cfgloopanal.c (expected_loop_iterations_unbounded): Add
by_profile_only parameter.
* cfgloopmanip.c (scale_loop_profile): Further scale loop's profile
- information if the loop was predicted to iterate too many times.
+ information if the loop was predicted to iterate too many times.
* cfgloop.h (expected_loop_iterations_unbounded): Update prototype
2018-04-13 Jan Hubicka <hubicka@ucw.cz>
2018-03-27 Ramana Radhakrishnan <ramana.radhakrishnan@arm.com>
PR target/81863
- * config/arm/arm.c (arm_valid_symbolic_address): Handle arm_word_relocations
+ * config/arm/arm.c (arm_valid_symbolic_address): Handle
+ arm_word_relocations.
2018-03-27 Cesar Philippidis <cesar@codesourcery.com>
2018-03-15 Sandra Loosemore <sandra@codesourcery.com>
- * config/nios2/nios2.md (movsi_internal): Fix thinko in
+ * config/nios2/nios2.md (movsi_internal): Fix thinko in
split predicate.
2018-03-15 Jakub Jelinek <jakub@redhat.com>
(layout::get_state_at_point): Likewise.
(layout::get_x_bound_for_row): Likewise.
(layout::print_line): Likewise.
- (diagnostic_show_locus): Likewise for locals "last_line" and
- "row".
+ (diagnostic_show_locus): Likewise for locals "last_line" and "row".
(selftest::diagnostic_show_locus_c_tests): Call test_line_span.
* input.c (selftest::test_linenum_comparisons): New function.
(selftest::input_c_tests): Call it.
2018-03-06 Claudiu Zissulescu <claziss@synopsys.com>
- * config/arc/arc.c (arc_finalize_pic): Remove function.
- (arc_must_save_register): We use single base PIC register, remove
- checks to save/restore the PIC register.
- (arc_expand_prologue): Likewise.
- * config/arc/arc-protos.h (arc_set_default_type_attributes):
- Remove.
- (arc_verify_short): Likewise.
- (arc_attr_type): Likewise.
- * config/arc/arc.c (arc_set_default_type_attributes): Remove.
- (walk_stores): Likewise.
- (arc_address_cost): Make it static.
- (arc_verify_short): Likewise.
- (branch_dest): Likewise.
- (arc_attr_type): Likewise.
- * config/arc/arc.c (TARGET_ADJUST_INSN_LENGTH): Remove.
- (TARGET_INSN_LENGTH_PARAMETERS): Likewise.
- (arc_final_prescan_insn): Remove inserting the nops due to
- hardware hazards. It is done in reorg step.
- (insn_length_variant_t): Remove.
- (insn_length_parameters_t): Likewise.
- (arc_insn_length_parameters): Likewise.
- (arc_get_insn_variants): Likewise.
- * config/arc/arc.h (TARGET_UPSIZE_DBR): Remove.
+ * config/arc/arc.c (arc_finalize_pic): Remove function.
+ (arc_must_save_register): We use single base PIC register, remove
+ checks to save/restore the PIC register.
+ (arc_expand_prologue): Likewise.
+ * config/arc/arc-protos.h (arc_set_default_type_attributes):
+ Remove.
+ (arc_verify_short): Likewise.
+ (arc_attr_type): Likewise.
+ * config/arc/arc.c (arc_set_default_type_attributes): Remove.
+ (walk_stores): Likewise.
+ (arc_address_cost): Make it static.
+ (arc_verify_short): Likewise.
+ (branch_dest): Likewise.
+ (arc_attr_type): Likewise.
+ * config/arc/arc.c (TARGET_ADJUST_INSN_LENGTH): Remove.
+ (TARGET_INSN_LENGTH_PARAMETERS): Likewise.
+ (arc_final_prescan_insn): Remove inserting the nops due to
+ hardware hazards. It is done in reorg step.
+ (insn_length_variant_t): Remove.
+ (insn_length_parameters_t): Likewise.
+ (arc_insn_length_parameters): Likewise.
+ (arc_get_insn_variants): Likewise.
+ * config/arc/arc.h (TARGET_UPSIZE_DBR): Remove.
2018-03-06 Jakub Jelinek <jakub@redhat.com>
* config/i386/immintrin.h (_wbinvd): New intrinsic.
* config/i386/pconfigintrin.h: New file.
* config/i386/wbnoinvdintrin.h: Ditto.
- * config/i386/x86intrin.h: Add headers pconfigintrin.h and wbnoinvdintrin.h.
+ * config/i386/x86intrin.h: Add headers pconfigintrin.h and
+ wbnoinvdintrin.h.
* doc/invoke.texi (-mpconfig, -mwbnoinvd): New.
2018-03-05 Richard Biener <rguenther@suse.de>
2018-02-26 Ramana Radhakrishnan <ramana.radhakrishnan@arm.com>
- PR target/84521
+ PR target/84521
* common/config/aarch64/aarch64-common.c
(aarch_option_optimization_table[]): Switch
off fomit-frame-pointer
(format_string, format_plain): Similarly.
* gimple-ssa-sprintf.c (sprintf_dom_walker::handle_gimple_call): Query
the EVRP range analyzer for range data rather than using global data.
- * gimple-ssa-sprintf.c: Include alloc-pool.h, vr-values.h and
+ * gimple-ssa-sprintf.c: Include alloc-pool.h, vr-values.h and
gimple-ssa-evrp-analyze.h
(class sprintf_dom_walker): Add after_dom_children member function.
Add evrp_range_analyzer member.
2018-02-13 Jeff Law <law@redhat.com>
- * config/rl/rl78.c (rl78_attribute_table): Fix terminator and
+ * config/rl/rl78.c (rl78_attribute_table): Fix terminator and
entry for "vector".
* config/rl78/rl78.c (rl78_handle_func_attribute): Mark
* config/rl78/rl78.c (add_vector_labels): New function.
* config/rl78/rl78.c (rl78_handle_vector_attribute): New function.
* config/rl78/rl78.c (rl78_start_function): Call add_vector_labels.
- * config/rl78/rl78.c (rl78_handle_func_attribute): Removed the assert
+ * config/rl78/rl78.c (rl78_handle_func_attribute): Removed the assert
which checks that no arguments are passed.
* config/rl78/rl78.c (rl78_attribute_table): Add "vector" attribute.
* doc/extend.texi: Documentation for the new attribute.
(fix<uns>_trunc<IEEE128:mode><QHI:mode>2): Likewise.
(fctiw<u>z_<mode>_smallint): Rename fctiw<u>z_<mode>_smallint to
fix<uns>_trunc<SFDF:mode>si2_p8.
- (fix_trunc<SFDF:mode><QHI:mode>2_internal): Delete, no longer
- used.
+ (fix_trunc<SFDF:mode><QHI:mode>2_internal): Delete, no longer used.
(fixuns_trunc<SFDF:mode><QHI:mode>2_internal): Likewise.
(fix<uns>_<mode>_mem): Likewise.
(fctiw<u>z_<mode>_mem): Likewise.
2018-01-26 Sebastian Perta <sebastian.perta@renesas.com>
- * config/rl78/rl78.c (rl78_addsi3_internal): If operand 2 is const
+ * config/rl78/rl78.c (rl78_addsi3_internal): If operand 2 is const
avoid addition with 0 and use incw and decw where possible.
2018-01-26 Richard Biener <rguenther@suse.de>
2018-01-22 Sebastian Perta <sebastian.perta@renesas.com>
- * config/rl78/rl78-protos.h (rl78_split_movdi): New function declaration.
+ * config/rl78/rl78-protos.h (rl78_split_movdi): New function
+ declaration.
* config/rl78/rl78.md (movdi): New define_expand.
* config/rl78/rl78.c (rl78_split_movdi): New function.
* config/i386/i386.c (print_reg): Print the name of the full
integer register without '%'.
(ix86_print_operand): Handle 'V'.
- * doc/extend.texi: Document 'V' modifier.
+ * doc/extend.texi: Document 'V' modifier.
2018-01-14 H.J. Lu <hongjiu.lu@intel.com>