1. 08 Jun, 2018 14 commits
    • Port IPA CP to edge_clone_summaries. · 1ac2bdb4
      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.
      
      From-SVN: r261317
      Martin Liska committed
    • Add call_summary::get method and m_initialize_when_cloning. · dbea5bf9
      2018-06-08  Martin Liska  <mliska@suse.cz>
      
      	* symbol-summary.h (get): New function.
      	(call_summary::m_initialize_when_cloning): New class member.
      
      From-SVN: r261316
      Martin Liska committed
    • Remove cgraph_node::summary_uid and make cgraph_node::uid really unique. · 74644756
      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>
      
      	* lto-partition.c (lto_balanced_map): Use cgraph_node::uid
      	instead of summary_uid.
      
      From-SVN: r261315
      Martin Liska committed
    • Convert IPA CP to symbol_summary. · 9d3e0adc
      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.
      
      From-SVN: r261314
      Martin Liska committed
    • Covert ipa-pure-const.c to symbol_summary. · 36330f82
      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.
      
      From-SVN: r261313
      Martin Liska committed
    • Use symtab_summary in ipa-reference.c. · 6adcb793
      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.
      
      From-SVN: r261312
      Martin Liska committed
    • Use summaries->get where possible. Small refactoring of multiple calls. · cf9b0b5f
      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.
      
      From-SVN: r261311
      Martin Liska committed
    • Add {symbol,call}_summary::get method and use it in HSA. · 0148358a
      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.
      
      From-SVN: r261310
      Martin Liska committed
    • Rename get methods in symbol-summary.h to get_create. · 99353fcf
      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>
      
      	* lto-partition.c (add_symbol_to_partition_1): Use get_create instead
      	of get.
      	(undo_partition): Likewise.
      	(lto_balanced_map): Likewise.
      
      From-SVN: r261309
      Martin Liska committed
    • Code refactoring for call_summary. · 2a281178
      2018-06-08  Martin Liska  <mliska@suse.cz>
      
      	* symbol-summary.h (release): Move definition out of class
      	declaration.
      	(symtab_removal): Likewise.
      	(symtab_duplication): Likewise.
      
      From-SVN: r261308
      Martin Liska committed
    • Code refactoring of symtab_summary. · ef2ceb10
      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.
      
      From-SVN: r261307
      Martin Liska committed
    • Fix scan in ipa-icf-38.c. · eb147cfb
      2018-06-08  Martin Liska  <mliska@suse.cz>
      
      	* gcc.dg/ipa/ipa-icf-38.c: Scan optimized tree dump.
      
      From-SVN: r261306
      Martin Liska committed
    • Remove MPX · 31db0fe0
      2018-06-08  Martin Liska  <mliska@suse.cz>
      
      	* MAINTAINERS: Remove MPX-related entries.
      	* Makefile.def: Remove libmpx support.
      	* Makefile.in: Likewise.
      	* configure: Remove removed files.
      	* configure.ac: Likewise.
      	* libmpx/ChangeLog: Remove.
      	* libmpx/Makefile.am: Remove.
      	* libmpx/Makefile.in: Remove.
      	* libmpx/acinclude.m4: Remove.
      	* libmpx/aclocal.m4: Remove.
      	* libmpx/config.h.in: Remove.
      	* libmpx/configure: Remove.
      	* libmpx/configure.ac: Remove.
      	* libmpx/configure.tgt: Remove.
      	* libmpx/libmpx.spec.in: Remove.
      	* libmpx/mpxrt/Makefile.am: Remove.
      	* libmpx/mpxrt/Makefile.in: Remove.
      	* libmpx/mpxrt/libmpx.map: Remove.
      	* libmpx/mpxrt/libtool-version: Remove.
      	* libmpx/mpxrt/mpxrt-utils.c: Remove.
      	* libmpx/mpxrt/mpxrt-utils.h: Remove.
      	* libmpx/mpxrt/mpxrt.c: Remove.
      	* libmpx/mpxrt/mpxrt.h: Remove.
      	* libmpx/mpxwrap/Makefile.am: Remove.
      	* libmpx/mpxwrap/Makefile.in: Remove.
      	* libmpx/mpxwrap/libmpxwrappers.map: Remove.
      	* libmpx/mpxwrap/libtool-version: Remove.
      	* libmpx/mpxwrap/mpx_wrappers.c: Remove.
      2018-06-08  Martin Liska  <mliska@suse.cz>
      
      	* bootstrap-mpx.mk: Remove.
      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-08  Martin Liska  <mliska@suse.cz>
      
      	* c-attribs.c (handle_bnd_variable_size_attribute): Remove support
      	for MPX (macros, related functions, fields in cgraph_node, ...).
      	(handle_bnd_legacy): Likewise.
      	(handle_bnd_instrument): Likewise.
      	* c.opt: Likewise.
      2018-06-08  Martin Liska  <mliska@suse.cz>
      
      	* lto-partition.c (add_references_to_partition): Remove support
      	for MPX (macros, related functions, fields in cgraph_node, ...).
      	(add_symbol_to_partition_1): Likewise.
      	(privatize_symbol_name): Likewise.
      	* lto-symtab.c (lto_cgraph_replace_node): Likewise.
      2018-06-08  Martin Liska  <mliska@suse.cz>
      
      	* g++.dg/dg.exp: Do not use mpx.exp.
      	* g++.dg/lto/lto.exp: Likewise.
      	* g++.dg/lto/pr69729_0.C: Remove.
      	* g++.dg/opt/pr71529.C: Remove.
      	* g++.dg/pr63995-1.C: Remove.
      	* g++.dg/pr68270.C: Remove.
      	* g++.dg/pr71624.C: Remove.
      	* g++.dg/pr71633.C: Remove.
      	* g++.dg/pr79761.C: Remove.
      	* g++.dg/pr79764.C: Remove.
      	* g++.dg/pr79769.C: Remove.
      	* gcc.dg/lto/chkp-privatize-1_0.c: Remove.
      	* gcc.dg/lto/chkp-privatize-2_0.c: Remove.
      	* gcc.dg/lto/chkp-privatize_0.c: Remove.
      	* gcc.dg/lto/chkp-removed-alias_0.c: Remove.
      	* gcc.dg/lto/chkp-static-bounds_0.c: Remove.
      	* gcc.dg/lto/chkp-wrap-asm-name_0.c: Remove.
      	* gcc.dg/lto/lto.exp: Do not use mpx.exp.
      	* gcc.dg/lto/pr66221_0.c: Remove.
      	* gcc.target/i386/chkp-always_inline.c: Remove.
      	* gcc.target/i386/chkp-bndret.c: Remove.
      	* gcc.target/i386/chkp-builtins-1.c: Remove.
      	* gcc.target/i386/chkp-builtins-2.c: Remove.
      	* gcc.target/i386/chkp-builtins-3.c: Remove.
      	* gcc.target/i386/chkp-builtins-4.c: Remove.
      	* gcc.target/i386/chkp-const-check-1.c: Remove.
      	* gcc.target/i386/chkp-const-check-2.c: Remove.
      	* gcc.target/i386/chkp-hidden-def.c: Remove.
      	* gcc.target/i386/chkp-label-address.c: Remove.
      	* gcc.target/i386/chkp-lifetime-1.c: Remove.
      	* gcc.target/i386/chkp-narrow-bounds.c: Remove.
      	* gcc.target/i386/chkp-pr69044.c: Remove.
      	* gcc.target/i386/chkp-remove-bndint-1.c: Remove.
      	* gcc.target/i386/chkp-remove-bndint-2.c: Remove.
      	* gcc.target/i386/chkp-strchr.c: Remove.
      	* gcc.target/i386/chkp-strlen-1.c: Remove.
      	* gcc.target/i386/chkp-strlen-2.c: Remove.
      	* gcc.target/i386/chkp-strlen-3.c: Remove.
      	* gcc.target/i386/chkp-strlen-4.c: Remove.
      	* gcc.target/i386/chkp-strlen-5.c: Remove.
      	* gcc.target/i386/chkp-stropt-1.c: Remove.
      	* gcc.target/i386/chkp-stropt-10.c: Remove.
      	* gcc.target/i386/chkp-stropt-11.c: Remove.
      	* gcc.target/i386/chkp-stropt-12.c: Remove.
      	* gcc.target/i386/chkp-stropt-13.c: Remove.
      	* gcc.target/i386/chkp-stropt-14.c: Remove.
      	* gcc.target/i386/chkp-stropt-15.c: Remove.
      	* gcc.target/i386/chkp-stropt-16.c: Remove.
      	* gcc.target/i386/chkp-stropt-17.c: Remove.
      	* gcc.target/i386/chkp-stropt-2.c: Remove.
      	* gcc.target/i386/chkp-stropt-3.c: Remove.
      	* gcc.target/i386/chkp-stropt-4.c: Remove.
      	* gcc.target/i386/chkp-stropt-5.c: Remove.
      	* gcc.target/i386/chkp-stropt-6.c: Remove.
      	* gcc.target/i386/chkp-stropt-7.c: Remove.
      	* gcc.target/i386/chkp-stropt-8.c: Remove.
      	* gcc.target/i386/chkp-stropt-9.c: Remove.
      	* gcc.target/i386/i386.exp: Do not use mpx.exp.
      	* gcc.target/i386/indirect-thunk-11.c: Remove.
      	* gcc.target/i386/indirect-thunk-12.c: Remove.
      	* gcc.target/i386/indirect-thunk-attr-12.c: Remove.
      	* gcc.target/i386/indirect-thunk-attr-13.c: Remove.
      	* gcc.target/i386/indirect-thunk-bnd-1.c: Remove.
      	* gcc.target/i386/indirect-thunk-bnd-2.c: Remove.
      	* gcc.target/i386/indirect-thunk-bnd-3.c: Remove.
      	* gcc.target/i386/indirect-thunk-bnd-4.c: Remove.
      	* gcc.target/i386/interrupt-bnd-err-1.c: Remove.
      	* gcc.target/i386/interrupt-bnd-err-2.c: Remove.
      	* gcc.target/i386/mpx/alloca-1-lbv.c: Remove.
      	* gcc.target/i386/mpx/alloca-1-nov.c: Remove.
      	* gcc.target/i386/mpx/alloca-1-ubv.c: Remove.
      	* gcc.target/i386/mpx/arg-addr-1-lbv.c: Remove.
      	* gcc.target/i386/mpx/arg-addr-1-nov.c: Remove.
      	* gcc.target/i386/mpx/arg-addr-1-ubv.c: Remove.
      	* gcc.target/i386/mpx/bitfields-1-lbv.c: Remove.
      	* gcc.target/i386/mpx/bitfields-1-nov.c: Remove.
      	* gcc.target/i386/mpx/bitfields-1-ubv.c: Remove.
      	* gcc.target/i386/mpx/builtin-bnd-chk-ptr-bounds-1-lbv.c: Remove.
      	* gcc.target/i386/mpx/builtin-bnd-chk-ptr-bounds-1-nov.c: Remove.
      	* gcc.target/i386/mpx/builtin-bnd-chk-ptr-bounds-1-ubv.c: Remove.
      	* gcc.target/i386/mpx/builtin-bnd-chk-ptr-bounds-2.c: Remove.
      	* gcc.target/i386/mpx/builtin-bnd-chk-ptr-lbounds-1-lbv.c: Remove.
      	* gcc.target/i386/mpx/builtin-bnd-chk-ptr-lbounds-1-nov.c: Remove.
      	* gcc.target/i386/mpx/builtin-bnd-chk-ptr-lbounds-2.c: Remove.
      	* gcc.target/i386/mpx/builtin-bnd-chk-ptr-ubounds-1-nov.c: Remove.
      	* gcc.target/i386/mpx/builtin-bnd-chk-ptr-ubounds-1-ubv.c: Remove.
      	* gcc.target/i386/mpx/builtin-bnd-chk-ptr-ubounds-2.c: Remove.
      	* gcc.target/i386/mpx/builtin-bnd-copy-ptr-bounds-1.c: Remove.
      	* gcc.target/i386/mpx/builtin-bnd-copy-ptr-bounds-2-lbv.c: Remove.
      	* gcc.target/i386/mpx/builtin-bnd-copy-ptr-bounds-2-nov.c: Remove.
      	* gcc.target/i386/mpx/builtin-bnd-copy-ptr-bounds-2-ubv.c: Remove.
      	* gcc.target/i386/mpx/builtin-bnd-copy-ptr-bounds-3.c: Remove.
      	* gcc.target/i386/mpx/builtin-bnd-get-ptr-lbound-1.c: Remove.
      	* gcc.target/i386/mpx/builtin-bnd-get-ptr-lbound-2.c: Remove.
      	* gcc.target/i386/mpx/builtin-bnd-get-ptr-ubound-1.c: Remove.
      	* gcc.target/i386/mpx/builtin-bnd-get-ptr-ubound-2.c: Remove.
      	* gcc.target/i386/mpx/builtin-bnd-init-ptr-bounds-1.c: Remove.
      	* gcc.target/i386/mpx/builtin-bnd-init-ptr-bounds-2-nov.c: Remove.
      	* gcc.target/i386/mpx/builtin-bnd-init-ptr-bounds-3.c: Remove.
      	* gcc.target/i386/mpx/builtin-bnd-narrow-ptr-bounds-1.c: Remove.
      	* gcc.target/i386/mpx/builtin-bnd-narrow-ptr-bounds-2-lbv.c: Remove.
      	* gcc.target/i386/mpx/builtin-bnd-narrow-ptr-bounds-2-nov.c: Remove.
      	* gcc.target/i386/mpx/builtin-bnd-narrow-ptr-bounds-2-ubv.c: Remove.
      	* gcc.target/i386/mpx/builtin-bnd-narrow-ptr-bounds-3-lbv.c: Remove.
      	* gcc.target/i386/mpx/builtin-bnd-narrow-ptr-bounds-3-nov.c: Remove.
      	* gcc.target/i386/mpx/builtin-bnd-narrow-ptr-bounds-3-ubv.c: Remove.
      	* gcc.target/i386/mpx/builtin-bnd-narrow-ptr-bounds-4.c: Remove.
      	* gcc.target/i386/mpx/builtin-bnd-null-ptr-bounds-1-bbv.c: Remove.
      	* gcc.target/i386/mpx/builtin-bnd-set-ptr-bounds-1.c: Remove.
      	* gcc.target/i386/mpx/builtin-bnd-set-ptr-bounds-2-lbv.c: Remove.
      	* gcc.target/i386/mpx/builtin-bnd-set-ptr-bounds-2-nov.c: Remove.
      	* gcc.target/i386/mpx/builtin-bnd-set-ptr-bounds-2-ubv.c: Remove.
      	* gcc.target/i386/mpx/builtin-bnd-set-ptr-bounds-3.c: Remove.
      	* gcc.target/i386/mpx/builtin-bnd-store-ptr-bounds-1-lbv.c: Remove.
      	* gcc.target/i386/mpx/builtin-bnd-store-ptr-bounds-1-nov.c: Remove.
      	* gcc.target/i386/mpx/builtin-bnd-store-ptr-bounds-1-ubv.c: Remove.
      	* gcc.target/i386/mpx/builtin-bnd-store-ptr-bounds-2.c: Remove.
      	* gcc.target/i386/mpx/calloc-1-lbv.c: Remove.
      	* gcc.target/i386/mpx/calloc-1-nov.c: Remove.
      	* gcc.target/i386/mpx/calloc-1-ubv.c: Remove.
      	* gcc.target/i386/mpx/chkp-fix-calls-1.c: Remove.
      	* gcc.target/i386/mpx/chkp-fix-calls-2.c: Remove.
      	* gcc.target/i386/mpx/chkp-fix-calls-3.c: Remove.
      	* gcc.target/i386/mpx/chkp-fix-calls-4.c: Remove.
      	* gcc.target/i386/mpx/chkp-thunk-comdat-1.cc: Remove.
      	* gcc.target/i386/mpx/chkp-thunk-comdat-2.cc: Remove.
      	* gcc.target/i386/mpx/chkp-thunk-comdat-3.c: Remove.
      	* gcc.target/i386/mpx/fastcall-1-lbv.c: Remove.
      	* gcc.target/i386/mpx/fastcall-1-nov.c: Remove.
      	* gcc.target/i386/mpx/fastcall-1-ubv.c: Remove.
      	* gcc.target/i386/mpx/fastcall-2-lbv.c: Remove.
      	* gcc.target/i386/mpx/fastcall-2-nov.c: Remove.
      	* gcc.target/i386/mpx/fastcall-2-ubv.c: Remove.
      	* gcc.target/i386/mpx/field-addr-1-lbv.c: Remove.
      	* gcc.target/i386/mpx/field-addr-1-nov.c: Remove.
      	* gcc.target/i386/mpx/field-addr-1-ubv.c: Remove.
      	* gcc.target/i386/mpx/field-addr-10-lbv.c: Remove.
      	* gcc.target/i386/mpx/field-addr-10-nov.c: Remove.
      	* gcc.target/i386/mpx/field-addr-10-ubv.c: Remove.
      	* gcc.target/i386/mpx/field-addr-2-lbv.c: Remove.
      	* gcc.target/i386/mpx/field-addr-2-nov.c: Remove.
      	* gcc.target/i386/mpx/field-addr-2-ubv.c: Remove.
      	* gcc.target/i386/mpx/field-addr-3-lbv.c: Remove.
      	* gcc.target/i386/mpx/field-addr-3-nov.c: Remove.
      	* gcc.target/i386/mpx/field-addr-3-ubv.c: Remove.
      	* gcc.target/i386/mpx/field-addr-4-lbv.c: Remove.
      	* gcc.target/i386/mpx/field-addr-4-nov.c: Remove.
      	* gcc.target/i386/mpx/field-addr-4-ubv.c: Remove.
      	* gcc.target/i386/mpx/field-addr-5-lbv.c: Remove.
      	* gcc.target/i386/mpx/field-addr-5-nov.c: Remove.
      	* gcc.target/i386/mpx/field-addr-5-ubv.c: Remove.
      	* gcc.target/i386/mpx/field-addr-6-lbv.c: Remove.
      	* gcc.target/i386/mpx/field-addr-6-nov.c: Remove.
      	* gcc.target/i386/mpx/field-addr-6-ubv.c: Remove.
      	* gcc.target/i386/mpx/field-addr-7-lbv.c: Remove.
      	* gcc.target/i386/mpx/field-addr-7-nov.c: Remove.
      	* gcc.target/i386/mpx/field-addr-7-ubv.c: Remove.
      	* gcc.target/i386/mpx/field-addr-8-lbv.c: Remove.
      	* gcc.target/i386/mpx/field-addr-8-nov.c: Remove.
      	* gcc.target/i386/mpx/field-addr-8-ubv.c: Remove.
      	* gcc.target/i386/mpx/field-addr-9-lbv.c: Remove.
      	* gcc.target/i386/mpx/field-addr-9-nov.c: Remove.
      	* gcc.target/i386/mpx/field-addr-9-ubv.c: Remove.
      	* gcc.target/i386/mpx/frame-address-1-nov.c: Remove.
      	* gcc.target/i386/mpx/hard-reg-1-nov.c: Remove.
      	* gcc.target/i386/mpx/hard-reg-2-lbv.c: Remove.
      	* gcc.target/i386/mpx/hard-reg-2-nov.c: Remove.
      	* gcc.target/i386/mpx/hard-reg-2-ubv.c: Remove.
      	* gcc.target/i386/mpx/if-stmt-1-lbv.c: Remove.
      	* gcc.target/i386/mpx/if-stmt-1-nov.c: Remove.
      	* gcc.target/i386/mpx/if-stmt-1-ubv.c: Remove.
      	* gcc.target/i386/mpx/if-stmt-2-lbv.c: Remove.
      	* gcc.target/i386/mpx/if-stmt-2-nov.c: Remove.
      	* gcc.target/i386/mpx/if-stmt-2-ubv.c: Remove.
      	* gcc.target/i386/mpx/label-address-1.c: Remove.
      	* gcc.target/i386/mpx/legacy-1-nov.c: Remove.
      	* gcc.target/i386/mpx/macro.c: Remove.
      	* gcc.target/i386/mpx/malloc-1-lbv.c: Remove.
      	* gcc.target/i386/mpx/malloc-1-nov.c: Remove.
      	* gcc.target/i386/mpx/malloc-1-ubv.c: Remove.
      	* gcc.target/i386/mpx/memcpy-1.c: Remove.
      	* gcc.target/i386/mpx/memmove-1.c: Remove.
      	* gcc.target/i386/mpx/memmove-2.c: Remove.
      	* gcc.target/i386/mpx/memmove-zero-length.c: Remove.
      	* gcc.target/i386/mpx/mpx-check.h: Remove.
      	* gcc.target/i386/mpx/mpx-os-support.h: Remove.
      	* gcc.target/i386/mpx/mpx.exp: Remove.
      	* gcc.target/i386/mpx/nested-function-1-lbv.c: Remove.
      	* gcc.target/i386/mpx/nested-function-1-nov.c: Remove.
      	* gcc.target/i386/mpx/nested-function-1-ubv.c: Remove.
      	* gcc.target/i386/mpx/pointer-arg-1-lbv.c: Remove.
      	* gcc.target/i386/mpx/pointer-arg-1-nov.c: Remove.
      	* gcc.target/i386/mpx/pointer-arg-1-ubv.c: Remove.
      	* gcc.target/i386/mpx/pointer-arg-2-lbv.c: Remove.
      	* gcc.target/i386/mpx/pointer-arg-2-nov.c: Remove.
      	* gcc.target/i386/mpx/pointer-arg-2-ubv.c: Remove.
      	* gcc.target/i386/mpx/pointer-arg-3-lbv.c: Remove.
      	* gcc.target/i386/mpx/pointer-arg-3-nov.c: Remove.
      	* gcc.target/i386/mpx/pointer-arg-3-ubv.c: Remove.
      	* gcc.target/i386/mpx/pointer-arg-4-lbv.c: Remove.
      	* gcc.target/i386/mpx/pointer-arg-4-nov.c: Remove.
      	* gcc.target/i386/mpx/pointer-arg-4-ubv.c: Remove.
      	* gcc.target/i386/mpx/pointer-arg-5-lbv.c: Remove.
      	* gcc.target/i386/mpx/pointer-arg-5-nov.c: Remove.
      	* gcc.target/i386/mpx/pointer-arg-5-ubv.c: Remove.
      	* gcc.target/i386/mpx/pointer-diff-1.c: Remove.
      	* gcc.target/i386/mpx/pointer-store-1-lbv.c: Remove.
      	* gcc.target/i386/mpx/pointer-store-1-nov.c: Remove.
      	* gcc.target/i386/mpx/pointer-store-1-ubv.c: Remove.
      	* gcc.target/i386/mpx/pr65508.c: Remove.
      	* gcc.target/i386/mpx/pr65531.cc: Remove.
      	* gcc.target/i386/mpx/pr66048.cc: Remove.
      	* gcc.target/i386/mpx/pr66134.c: Remove.
      	* gcc.target/i386/mpx/pr66566.c: Remove.
      	* gcc.target/i386/mpx/pr66567.c: Remove.
      	* gcc.target/i386/mpx/pr66568.c: Remove.
      	* gcc.target/i386/mpx/pr66569.c: Remove.
      	* gcc.target/i386/mpx/pr66581.c: Remove.
      	* gcc.target/i386/mpx/pr68337-1.c: Remove.
      	* gcc.target/i386/mpx/pr68337-2.c: Remove.
      	* gcc.target/i386/mpx/pr68416.c: Remove.
      	* gcc.target/i386/mpx/pr78339.c: Remove.
      	* gcc.target/i386/mpx/pr79631.c: Remove.
      	* gcc.target/i386/mpx/pr79633.c: Remove.
      	* gcc.target/i386/mpx/pr79753.c: Remove.
      	* gcc.target/i386/mpx/pr79770.c: Remove.
      	* gcc.target/i386/mpx/pr79987.c: Remove.
      	* gcc.target/i386/mpx/pr79988.c: Remove.
      	* gcc.target/i386/mpx/realloc-1-lbv.c: Remove.
      	* gcc.target/i386/mpx/realloc-1-nov.c: Remove.
      	* gcc.target/i386/mpx/realloc-1-ubv.c: Remove.
      	* gcc.target/i386/mpx/realloc-2-lbv.c: Remove.
      	* gcc.target/i386/mpx/realloc-2-nov.c: Remove.
      	* gcc.target/i386/mpx/realloc-2-ubv.c: Remove.
      	* gcc.target/i386/mpx/reference-1-lbv.cpp: Remove.
      	* gcc.target/i386/mpx/reference-1-nov.cpp: Remove.
      	* gcc.target/i386/mpx/reference-1-ubv.cpp: Remove.
      	* gcc.target/i386/mpx/reference-2-lbv.cpp: Remove.
      	* gcc.target/i386/mpx/reference-2-nov.cpp: Remove.
      	* gcc.target/i386/mpx/reference-2-ubv.cpp: Remove.
      	* gcc.target/i386/mpx/reference-3-lbv.cpp: Remove.
      	* gcc.target/i386/mpx/reference-3-nov.cpp: Remove.
      	* gcc.target/i386/mpx/reference-3-ubv.cpp: Remove.
      	* gcc.target/i386/mpx/reference-4-lbv.cpp: Remove.
      	* gcc.target/i386/mpx/reference-4-nov.cpp: Remove.
      	* gcc.target/i386/mpx/reference-4-ubv.cpp: Remove.
      	* gcc.target/i386/mpx/return-pointer-1-lbv.c: Remove.
      	* gcc.target/i386/mpx/return-pointer-1-nov.c: Remove.
      	* gcc.target/i386/mpx/return-pointer-1-ubv.c: Remove.
      	* gcc.target/i386/mpx/return-struct-1-lbv.c: Remove.
      	* gcc.target/i386/mpx/return-struct-1-nov.c: Remove.
      	* gcc.target/i386/mpx/return-struct-1-ubv.c: Remove.
      	* gcc.target/i386/mpx/return-struct-2-lbv.c: Remove.
      	* gcc.target/i386/mpx/return-struct-2-nov.c: Remove.
      	* gcc.target/i386/mpx/return-struct-2-ubv.c: Remove.
      	* gcc.target/i386/mpx/return-struct-3-lbv.c: Remove.
      	* gcc.target/i386/mpx/return-struct-3-nov.c: Remove.
      	* gcc.target/i386/mpx/return-struct-3-ubv.c: Remove.
      	* gcc.target/i386/mpx/return-struct-4-lbv.c: Remove.
      	* gcc.target/i386/mpx/return-struct-4-nov.c: Remove.
      	* gcc.target/i386/mpx/return-struct-4-ubv.c: Remove.
      	* gcc.target/i386/mpx/return-struct-5-lbv.c: Remove.
      	* gcc.target/i386/mpx/return-struct-5-nov.c: Remove.
      	* gcc.target/i386/mpx/return-struct-5-ubv.c: Remove.
      	* gcc.target/i386/mpx/return-struct-6-lbv.c: Remove.
      	* gcc.target/i386/mpx/return-struct-6-nov.c: Remove.
      	* gcc.target/i386/mpx/return-struct-6-ubv.c: Remove.
      	* gcc.target/i386/mpx/sincos-1-nov.c: Remove.
      	* gcc.target/i386/mpx/static-array-1-lbv.c: Remove.
      	* gcc.target/i386/mpx/static-array-1-nov.c: Remove.
      	* gcc.target/i386/mpx/static-array-1-ubv.c: Remove.
      	* gcc.target/i386/mpx/static-init-1-lbv.c: Remove.
      	* gcc.target/i386/mpx/static-init-1-nov.c: Remove.
      	* gcc.target/i386/mpx/static-init-1-ubv.c: Remove.
      	* gcc.target/i386/mpx/static-init-2-lbv.c: Remove.
      	* gcc.target/i386/mpx/static-init-2-nov.c: Remove.
      	* gcc.target/i386/mpx/static-init-2-ubv.c: Remove.
      	* gcc.target/i386/mpx/static-init-3-lbv.c: Remove.
      	* gcc.target/i386/mpx/static-init-3-nov.c: Remove.
      	* gcc.target/i386/mpx/static-init-3-ubv.c: Remove.
      	* gcc.target/i386/mpx/static-init-4-lbv.c: Remove.
      	* gcc.target/i386/mpx/static-init-4-nov.c: Remove.
      	* gcc.target/i386/mpx/static-init-4-ubv.c: Remove.
      	* gcc.target/i386/mpx/static-init-5-lbv.c: Remove.
      	* gcc.target/i386/mpx/static-init-5-nov.c: Remove.
      	* gcc.target/i386/mpx/static-init-5-ubv.c: Remove.
      	* gcc.target/i386/mpx/static-init-6-lbv.c: Remove.
      	* gcc.target/i386/mpx/static-init-6-nov.c: Remove.
      	* gcc.target/i386/mpx/static-init-6-ubv.c: Remove.
      	* gcc.target/i386/mpx/static-string-1-lbv.c: Remove.
      	* gcc.target/i386/mpx/static-string-1-nov.c: Remove.
      	* gcc.target/i386/mpx/static-string-1-ubv.c: Remove.
      	* gcc.target/i386/mpx/struct-arg-1-lbv.c: Remove.
      	* gcc.target/i386/mpx/struct-arg-1-nov.c: Remove.
      	* gcc.target/i386/mpx/struct-arg-1-ubv.c: Remove.
      	* gcc.target/i386/mpx/struct-arg-10-lbv.c: Remove.
      	* gcc.target/i386/mpx/struct-arg-10-nov.c: Remove.
      	* gcc.target/i386/mpx/struct-arg-10-ubv.c: Remove.
      	* gcc.target/i386/mpx/struct-arg-2-lbv.c: Remove.
      	* gcc.target/i386/mpx/struct-arg-2-nov.c: Remove.
      	* gcc.target/i386/mpx/struct-arg-2-ubv.c: Remove.
      	* gcc.target/i386/mpx/struct-arg-3-lbv.c: Remove.
      	* gcc.target/i386/mpx/struct-arg-3-nov.c: Remove.
      	* gcc.target/i386/mpx/struct-arg-3-ubv.c: Remove.
      	* gcc.target/i386/mpx/struct-arg-4-lbv.c: Remove.
      	* gcc.target/i386/mpx/struct-arg-4-nov.c: Remove.
      	* gcc.target/i386/mpx/struct-arg-4-ubv.c: Remove.
      	* gcc.target/i386/mpx/struct-arg-5-lbv.c: Remove.
      	* gcc.target/i386/mpx/struct-arg-5-nov.c: Remove.
      	* gcc.target/i386/mpx/struct-arg-5-ubv.c: Remove.
      	* gcc.target/i386/mpx/struct-arg-6-lbv.c: Remove.
      	* gcc.target/i386/mpx/struct-arg-6-nov.c: Remove.
      	* gcc.target/i386/mpx/struct-arg-6-ubv.c: Remove.
      	* gcc.target/i386/mpx/struct-arg-7-lbv.c: Remove.
      	* gcc.target/i386/mpx/struct-arg-7-nov.c: Remove.
      	* gcc.target/i386/mpx/struct-arg-7-ubv.c: Remove.
      	* gcc.target/i386/mpx/struct-arg-8-lbv.c: Remove.
      	* gcc.target/i386/mpx/struct-arg-8-nov.c: Remove.
      	* gcc.target/i386/mpx/struct-arg-8-ubv.c: Remove.
      	* gcc.target/i386/mpx/struct-arg-9-lbv.c: Remove.
      	* gcc.target/i386/mpx/struct-arg-9-nov.c: Remove.
      	* gcc.target/i386/mpx/struct-arg-9-ubv.c: Remove.
      	* gcc.target/i386/mpx/struct-copy-1-lbv.c: Remove.
      	* gcc.target/i386/mpx/struct-copy-1-nov.c: Remove.
      	* gcc.target/i386/mpx/struct-copy-1-ubv.c: Remove.
      	* gcc.target/i386/mpx/struct-copy-2-lbv.c: Remove.
      	* gcc.target/i386/mpx/struct-copy-2-nov.c: Remove.
      	* gcc.target/i386/mpx/struct-copy-2-ubv.c: Remove.
      	* gcc.target/i386/mpx/thread-local-var-1-lbv.c: Remove.
      	* gcc.target/i386/mpx/thread-local-var-1-nov.c: Remove.
      	* gcc.target/i386/mpx/thread-local-var-1-ubv.c: Remove.
      	* gcc.target/i386/mpx/union-arg-1-lbv.c: Remove.
      	* gcc.target/i386/mpx/union-arg-1-nov.c: Remove.
      	* gcc.target/i386/mpx/union-arg-1-ubv.c: Remove.
      	* gcc.target/i386/mpx/va-arg-pack-1-lbv.c: Remove.
      	* gcc.target/i386/mpx/va-arg-pack-1-nov.c: Remove.
      	* gcc.target/i386/mpx/va-arg-pack-1-ubv.c: Remove.
      	* gcc.target/i386/mpx/va-arg-pack-2-lbv.c: Remove.
      	* gcc.target/i386/mpx/va-arg-pack-2-nov.c: Remove.
      	* gcc.target/i386/mpx/va-arg-pack-2-ubv.c: Remove.
      	* gcc.target/i386/mpx/vararg-1-lbv.c: Remove.
      	* gcc.target/i386/mpx/vararg-1-nov.c: Remove.
      	* gcc.target/i386/mpx/vararg-1-ubv.c: Remove.
      	* gcc.target/i386/mpx/vararg-2-lbv.c: Remove.
      	* gcc.target/i386/mpx/vararg-2-nov.c: Remove.
      	* gcc.target/i386/mpx/vararg-2-ubv.c: Remove.
      	* gcc.target/i386/mpx/vararg-3-lbv.c: Remove.
      	* gcc.target/i386/mpx/vararg-3-nov.c: Remove.
      	* gcc.target/i386/mpx/vararg-3-ubv.c: Remove.
      	* gcc.target/i386/mpx/vararg-4-lbv.c: Remove.
      	* gcc.target/i386/mpx/vararg-4-nov.c: Remove.
      	* gcc.target/i386/mpx/vararg-4-ubv.c: Remove.
      	* gcc.target/i386/mpx/vararg-5-lbv.c: Remove.
      	* gcc.target/i386/mpx/vararg-5-nov.c: Remove.
      	* gcc.target/i386/mpx/vararg-5-ubv.c: Remove.
      	* gcc.target/i386/mpx/vararg-6-lbv.c: Remove.
      	* gcc.target/i386/mpx/vararg-6-nov.c: Remove.
      	* gcc.target/i386/mpx/vararg-6-ubv.c: Remove.
      	* gcc.target/i386/mpx/vararg-7-lbv.c: Remove.
      	* gcc.target/i386/mpx/vararg-7-nov.c: Remove.
      	* gcc.target/i386/mpx/vararg-7-ubv.c: Remove.
      	* gcc.target/i386/mpx/vararg-8-lbv.c: Remove.
      	* gcc.target/i386/mpx/vararg-8-nov.c: Remove.
      	* gcc.target/i386/mpx/vararg-8-ubv.c: Remove.
      	* gcc.target/i386/mpx/vla-1-lbv.c: Remove.
      	* gcc.target/i386/mpx/vla-1-nov.c: Remove.
      	* gcc.target/i386/mpx/vla-1-ubv.c: Remove.
      	* gcc.target/i386/mpx/vla-2-lbv.c: Remove.
      	* gcc.target/i386/mpx/vla-2-nov.c: Remove.
      	* gcc.target/i386/mpx/vla-2-ubv.c: Remove.
      	* gcc.target/i386/mpx/vla-trailing-1-lbv.c: Remove.
      	* gcc.target/i386/mpx/vla-trailing-1-nov.c: Remove.
      	* gcc.target/i386/mpx/vla-trailing-1-ubv.c: Remove.
      	* gcc.target/i386/pr63995-2.c: Remove.
      	* gcc.target/i386/pr64805.c: Remove.
      	* gcc.target/i386/pr65044.c: Remove.
      	* gcc.target/i386/pr65167.c: Remove.
      	* gcc.target/i386/pr65183.c: Remove.
      	* gcc.target/i386/pr65184.c: Remove.
      	* gcc.target/i386/pr65523.c: Remove.
      	* gcc.target/i386/pr70876.c: Remove.
      	* gcc.target/i386/pr70877.c: Remove.
      	* gcc.target/i386/pr71458.c: Remove.
      	* gcc.target/i386/pr80880.c: Remove.
      	* gcc.target/i386/ret-thunk-25.c: Remove.
      	* gcc.target/i386/thunk-retbnd.c: Remove.
      	* lib/mpx-dg.exp: Remove.
      	* gcc.target/i386/funcspec-56.inc: Adjust test case.
      
      From-SVN: r261304
      Martin Liska committed
    • Daily bump. · c71f71f8
      From-SVN: r261303
      GCC Administrator committed
  2. 07 Jun, 2018 19 commits
  3. 06 Jun, 2018 7 commits
    • vsx.md (first_match_index_<mode>): Calculate index using natural element order. · 029435a3
      gcc/ChangeLog:
      
      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.
      
      gcc/testsuite/ChangeLog:
      
      2018-06-04  Carl Love  <cel@us.ibm.com>
      
      	* gcc.target/powerpc/builtins-8-p9-runnable.c: Add additional
      	debug print statements.  Fix a few formating issues.
      
      From-SVN: r261255
      Carl Love committed
    • extend.texi (PowerPC AltiVec Built-in Functions): Adjust indentation and line… · 20f136af
      extend.texi (PowerPC AltiVec Built-in Functions): Adjust indentation and line wrap for many prototypes.
      
      gcc/ChangeLog:
      
      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.
      
      From-SVN: r261254
      Kelvin Nilsen committed
    • re PR target/85657 (Make __ibm128 a separate type, even if long double uses the… · f0e5e942
      re PR target/85657 (Make __ibm128 a separate type, even if long double uses the IBM double-double format)
      
      [gcc]
      2018-06-06  Michael Meissner  <meissner@linux.ibm.com>
      
      	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.
      
      [gcc/testsuite]
      2018-06-06  Michael Meissner  <meissner@linux.ibm.com>
      
      	PR target/85657
      	* gcc.target/powerpc/pr85657-4.c: New tests.
      	* gcc.target/powerpc/pr85657-5.c: Likewise.
      	* gcc.target/powerpc/pr85657-6.c: Likewise.
      
      From-SVN: r261253
      Michael Meissner committed
    • builtins-7-p9-runnable.c: Change first argument to vui_arg. · a983358b
      gcc/testsuite/ChangeLog:
      
      2018-06-06  Carl Love  <cel@us.ibm.com>
      	* gcc.target/powerpc/builtins-7-p9-runnable.c: Change first
      	argument to vui_arg.
      
      From-SVN: r261249
      Carl Love committed
    • re PR fortran/85641 (ICE with string concatenate) · 9658d116
      2018-06-06  Thomas Koenig  <tkoenig@gcc.gnu.org>
      
      	PR fortran/85641
      	* frontend-passes.c (is_fe_temp): Add prototype.
      	(realloc_string_callback): Early return for frontend-generated
      	temporary.
      
      2018-06-06  Thomas Koenig  <tkoenig@gcc.gnu.org>
      
      	PR fortran/85641
      	* gfortran.dg/realloc_on_assign_30.f90: New test.
      
      From-SVN: r261248
      Thomas Koenig committed
    • builtins-3.c: Move tests requiring -mvsx to builtins-4.c. · c63f44a8
      gcc/testsuite/ChangeLog:
      
      2018-06-06  Carl Love  <cel@us.ibm.com>
      
      	* gcc.target/powerpc/builtins-3.c: Move tests requiring -mvsx
      	to builtins-4.c.
      	* gcc.target/powerpc/builtins-4.c: New test file for tests
      	that need -mvsx.
      
      From-SVN: r261247
      Carl Love committed
    • re PR target/85657 (Make __ibm128 a separate type, even if long double uses the… · c765c8cb
      re PR target/85657 (Make __ibm128 a separate type, even if long double uses the IBM double-double format)
      
      [gcc]
      2018-06-06  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.
      
      [gcc]
      2018-06-05  Michael Meissner  <meissner@linux.ibm.com>
      
      	* config/rs6000/rs6000.c (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.
      
      [gcc/testsuite]
      2018-06-05  Michael Meissner  <meissner@linux.ibm.com>
      
      	PR target/85657
      	* g++.dg/pr85657.C: Only test whether __ibm128 and long double can
      	be used in templates.  Don't check for them in overloaded functions.
      
      From-SVN: r261246
      Michael Meissner committed