Commit Graph

161994 Commits

Author SHA1 Message Date
Martin Liska
d0765b25af PPC: remove usage of cgraph_node::instrumentation_clone and cgraph_node::instrumented_version.
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.

From-SVN: r261326
2018-06-08 13:30:41 +00:00
David Malcolm
4af78ef869 Convert dump and optgroup flags to enums
gcc/brig/ChangeLog:
	* brigfrontend/brig-to-generic.cc
	(brig_to_generic::write_globals): Use TDF_NONE rather than 0.
	(dump_function): Likewise.

gcc/c-family/ChangeLog:
	* c-pretty-print.c (c_pretty_printer::statement): Use TDF_NONE
	rather than 0.

gcc/ChangeLog:
	* 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.

From-SVN: r261325
2018-06-08 12:50:19 +00:00
Segher Boessenkool
a7efc32b58 rs6000: Delete unused min/max macros
The last use was deleted in 2017.  There are the generic MIN/MAX macros
to use already, and in this new world we should use std::min, std::max.


	* config/rs6000/rs6000.c (min, max): Delete.

From-SVN: r261324
2018-06-08 14:46:02 +02:00
Segher Boessenkool
03304f9391 rs6000: Delete mention of -mabi={no-,}spe in the documentation
The option no longer exists.


	* doc/invoke.texi (RS/6000 and PowerPC Options): Delete mention of
	-mabi=spe and -mabi=no-spe.

From-SVN: r261323
2018-06-08 14:44:32 +02:00
Martin Liska
a756f161be Make ipa-pure-const more strict about summary constrains.
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.

From-SVN: r261322
2018-06-08 12:37:49 +00:00
Martin Liska
6f86434f0a Replace some ::get_create with ::get in IPA inline.
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.

From-SVN: r261321
2018-06-08 12:37:03 +00:00
Martin Liska
4325656f9f Come up with cgraph_node::get_uid and make cgraph_node::uid private.
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.

From-SVN: r261320
2018-06-08 12:36:26 +00:00
Martin Liska
8b25212d3e Make cgraph_edge::uid really unique.
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.

From-SVN: r261319
2018-06-08 12:33:47 +00:00
Martin Liska
9fb50ad822 Port edge_growth_cache to call_summary.
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.

From-SVN: r261318
2018-06-08 12:31:09 +00:00
Martin Liska
1ac2bdb45f Port IPA CP to edge_clone_summaries.
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
2018-06-08 12:29:44 +00:00
Martin Liska
dbea5bf947 Add call_summary::get method and m_initialize_when_cloning.
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
2018-06-08 12:28:20 +00:00
Martin Liska
746447567a Remove cgraph_node::summary_uid and make cgraph_node::uid really unique.
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
2018-06-08 12:26:57 +00:00
Martin Liska
9d3e0adc2a Convert IPA CP to symbol_summary.
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
2018-06-08 12:22:58 +00:00
Martin Liska
36330f8203 Covert ipa-pure-const.c to symbol_summary.
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
2018-06-08 12:16:18 +00:00
Martin Liska
6adcb79361 Use symtab_summary in ipa-reference.c.
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
2018-06-08 12:14:57 +00:00
Martin Liska
cf9b0b5fce Use summaries->get where possible. Small refactoring of multiple calls.
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
2018-06-08 12:14:02 +00:00
Martin Liska
0148358a02 Add {symbol,call}_summary::get method and use it in HSA.
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
2018-06-08 12:13:20 +00:00
Martin Liska
99353fcfe4 Rename get methods in symbol-summary.h to get_create.
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
2018-06-08 12:11:48 +00:00
Martin Liska
2a281178f7 Code refactoring for call_summary.
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
2018-06-08 12:10:02 +00:00
Martin Liska
ef2ceb103d Code refactoring of symtab_summary.
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
2018-06-08 12:08:36 +00:00
Martin Liska
eb147cfbca Fix scan in ipa-icf-38.c.
2018-06-08  Martin Liska  <mliska@suse.cz>

	* gcc.dg/ipa/ipa-icf-38.c: Scan optimized tree dump.

From-SVN: r261306
2018-06-08 11:25:19 +00:00
Martin Liska
31db0fe044 Remove MPX
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
2018-06-08 07:53:31 +00:00
GCC Administrator
c71f71f8bd Daily bump.
From-SVN: r261303
2018-06-08 00:16:33 +00:00
Carl Love
6ad1bf184b vsx.md (vextract_fp_from_shorth, [...]): Add BE support.
gcc/ChangeLog:

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.

gcc/testsuite/ChangeLog:

2018-06-07  Carl Love  <cel@us.ibm.com>

	* gcc.target/powerpc/builtins-3-p9-runnable.c: Add debug print
	statements.

From-SVN: r261299
2018-06-07 22:57:07 +00:00
Carl Love
07e2ef97f9 vec-cntlz-lsbb-2.c (dg-error): Update expected error message.
gcc/testsuite/ChangeLog:

2018-06-07  Carl Love  <cel@us.ibm.com>

        * gcc.target/powerpc/vsu/vec-cntlz-lsbb-2.c (dg-error): Update expected
        error message.

From-SVN: r261297
2018-06-07 22:46:48 +00:00
Marek Polacek
e4d44a3724 re PR c/85318 (-Wc90-c99-compat does not warn about for loop initial declarations)
PR c/85318
	* c-decl.c (check_for_loop_decls): Add -Wc90-c99-compat warning about
	for loop initial declarations.

	* gcc.dg/Wc90-c99-compat-10.c: New test.
	* gcc.dg/Wc90-c99-compat-11.c: New test.
	* gcc.dg/Wc90-c99-compat-12.c: New test.
	* gcc.dg/Wc90-c99-compat-9.c: New test.

From-SVN: r261293
2018-06-07 19:15:45 +00:00
Paul Koning
a3e87f07f3 compare-elim.c (try_merge_compare): Don't merge compare if address contains a side effect.
2018-06-07  Paul Koning  <ni1d@arrl.net>

gcc/

	* compare-elim.c (try_merge_compare): Don't merge compare if
	address contains a side effect.
	(try_eliminate_compare): Likewise.

gcc/testsuite/

	* gcc.c-torture/compile/20180605-1.c: New test.

From-SVN: r261287
2018-06-07 13:55:05 -04:00
Steven G. Kargl
75d1c00452 re PR fortran/86045 (ICE in reduce_binary_ac, at fortran/arith.c:1308)
2018-06-07  Steven G. Kargl  <kargl@gcc.gnu.org>

	PR fortran/86045
	* simplify.c (gfc_simplify_mod): Re-arrange code to test whether
	'P' is zero and issue an error if it is.

2018-06-07  Steven G. Kargl  <kargl@gcc.gnu.org>

	PR fortran/86045
	* gfortran.dg/pr86045.f90: New test.

From-SVN: r261286
2018-06-07 17:53:11 +00:00
Ian Lance Taylor
dc23fb4d72 compiler: speed up variable initializer sorting
The compiler used to do variable initializer sorting by looping
    through all the initialized variables and, for each one, looping
    through all the initialized variables and checking for a dependency.
    For very large packages with thousands of initialized global
    variables, this quadratic loop could take quite a long time.
    
    Change the approach to first loop through all the initialized
    variables and fetch all the references to other variables from the
    initialization code.  Then, loop through them again and this time add
    a dependency for each referenced, initialized, variable, while
    checking for initialization loops.  We still have a nested loop, but
    this time the inner loop should normally be short--just the list of
    referenced variables, not the list of all variables.
    
    Reviewed-on: https://go-review.googlesource.com/116816

From-SVN: r261284
2018-06-07 16:56:09 +00:00
Joseph Myers
fa725532c4 * eo.po: Update.
From-SVN: r261280
2018-06-07 16:26:56 +01:00
Marek Polacek
d6cbe43f2f * g++.dg/cpp0x/range-for9.C: Adjust dg-error.
From-SVN: r261278
2018-06-07 14:18:27 +00:00
Olivier Hainque
fb9970973a t-vxworks (LIBGCC_INCLUDES): Add -I$(MULTIBUILDTOP)../../gcc/include.
2018-06-07  Olivier Hainque  <hainque@adacore.com>

        * config/t-vxworks (LIBGCC_INCLUDES): Add
        -I$(MULTIBUILDTOP)../../gcc/include.
        * config/t-vxworks7: Likewise. Reformat a bit to match
        the t-vxworks layout.

From-SVN: r261273
2018-06-07 13:31:24 +00:00
Olga Makhotina
a548a5a1d6 config.gcc: Support "tremont".
2018-06-07  Olga Makhotina  <olga.makhotina@intel.com>

gcc/

        * 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.

gcc/testsuite/

        * gcc.target/i386/funcspec-56.inc: Test arch=tremont.

libgcc/

        * config/i386/cpuinfo.h (processor_types): Add INTEL_TREMONT.

From-SVN: r261270
2018-06-07 13:07:05 +02:00
Jozef Lawrynowicz
cef87b05f2 msp430.c (msp430_mcu_name): Set the "i" in the symbol defined for msp430i* devices to be lower case.
* 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.

From-SVN: r261268
2018-06-07 10:09:42 +00:00
Richard Biener
fa8ce18938 graphite-sese-to-poly.c (extract_affine): Avoid unneded wrapping.
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.

From-SVN: r261267
2018-06-07 09:48:31 +00:00
Jonathan Wakely
c962b2c36f Default special members of regex types and add noexcept
* include/bits/regex.h (sub_match): Add noexcept to default
	constructor and length observer.
	(match_results): Add noexcept to default constructor and observers
	with no preconditions. Define destructor as defaulted.
	(operator==, operator!=, swap): Add noexcept.
	(regex_iterator): Add default member initializers and define default
	constructor and destructor as defaulted. Add noexcept to equality
	and dereference operators.

From-SVN: r261266
2018-06-07 09:56:45 +01:00
Jakub Jelinek
ca6b7410dd re PR tree-optimization/69615 (0 to limit signed range checks don't always use unsigned compare)
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.

	* gcc.dg/tree-ssa/pr69615.c: New test.

From-SVN: r261264
2018-06-07 09:41:18 +02:00
Richard Biener
b2bf825892 re PR tree-optimization/85935 ([graphite] ICE in extract_affine, at graphite-sese-to-poly.c:287)
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.

	* gcc.dg/graphite/pr85935.c: New testcase.

From-SVN: r261263
2018-06-07 07:01:56 +00:00
François Dumont
7a205f505f 2018-06-07 François Dumont <fdumont@gcc.gnu.org>
* src/c++11/debug.cc
	(_Safe_iterator_base::_M_detach()): Reset state only if needed.
	(_Safe_iterator_base::_M_detach_single()): Likewise.
	(_Safe_local_iterator_base::_M_detach()): Reset state only if needed.
	(_Safe_local_iterator_base::_M_detach_single()): Likewise.

From-SVN: r261262
2018-06-07 05:44:53 +00:00
Martin Liska
244aebfd6c Fix compilation of libgcov with GCOV_LOCKED=0.
2018-06-07  Martin Liska  <mliska@suse.cz>

	* libgcov-driver.c: Rename cs_all to all and assign it from
        all_prg.

From-SVN: r261261
2018-06-07 04:23:16 +00:00
Martin Liska
6c086e8c75 Fix libgcov-driver-system bootstrap failure (PR bootstrap/86057).
2018-06-07  Martin Liska  <mliska@suse.cz>

        PR bootstrap/86057
	* libgcov-driver-system.c (replace_filename_variables): Use
        memcpy instead of mempcpy.
	(allocate_filename_struct): Do not allocate filename, allocate
        prefix and set it.
	(gcov_exit_open_gcda_file): Allocate memory for gf->filename
        here and properly copy content into it.
	* libgcov-driver.c (struct gcov_filename): Remove max_length
        field, change prefix from size_t into char *.
	(compute_summary): Do not calculate longest filename.
	(gcov_do_dump): Release memory of gf.filename after each file.
	* libgcov-util.c (compute_summary): Use new signature of
        compute_summary.
	(calculate_overlap): Likewise.

From-SVN: r261260
2018-06-07 04:21:35 +00:00
GCC Administrator
37777cd033 Daily bump.
From-SVN: r261259
2018-06-07 00:16:22 +00:00
Carl Love
029435a303 vsx.md (first_match_index_<mode>): Calculate index using natural element order.
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
2018-06-06 23:16:06 +00:00
Kelvin Nilsen
20f136afaf 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
2018-06-06 23:03:35 +00:00
Michael Meissner
f0e5e94235 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
2018-06-06 22:54:17 +00:00
Carl Love
a983358b0e builtins-7-p9-runnable.c: Change first argument to vui_arg.
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
2018-06-06 21:46:26 +00:00
Thomas Koenig
9658d116f3 re PR fortran/85641 (ICE with string concatenate)
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
2018-06-06 21:41:29 +00:00
Carl Love
c63f44a8d7 builtins-3.c: Move tests requiring -mvsx to builtins-4.c.
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
2018-06-06 21:38:49 +00:00
Michael Meissner
c765c8cb73 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
2018-06-06 21:11:15 +00:00
Jonathan Wakely
9d67f13e6a Remove redundant std::move on const object
* include/bits/shared_ptr_base.h (__shared_count): Remove redundant
	move of const value.

From-SVN: r261245
2018-06-06 20:39:27 +01:00