1. 20 Jul, 2018 2 commits
    • PR middle-end/82063 - issues with arguments enabled by -Wall · 00abf86c
      gcc/ada/ChangeLog:
      
      	PR middle-end/82063
      	* gcc-interface/misc.c (gnat_handle_option): Change function argument
      	to HOST_WIDE_INT.
      
      gcc/brig/ChangeLog:
      
      	PR middle-end/82063
      	* brig/brig-lang.c (brig_langhook_handle_option): Change function
      	argument to HOST_WIDE_INT.
      
      gcc/c-family/ChangeLog:
      
      	PR middle-end/82063
      	* c-common.h (c_common_handle_option): Change function argument
      	to HOST_WIDE_INT.
      	* c-opts.c (c_common_init_options): Same.
      	(c_common_handle_option): Same.  Remove special handling of
      	OPT_Walloca_larger_than_ and OPT_Wvla_larger_than_.
      	* c.opt (-Walloc-size-larger-than, -Walloca-larger-than): Change
      	options to take a HOST_WIDE_INT argument and accept a byte-size
      	suffix.  Initialize.
      	(-Wvla-larger-than): Same.
      	(-Wno-alloc-size-larger-than, -Wno-alloca-larger-than): New.
      	(-Wno-vla-larger-than): Same.
      
      gcc/fortran/ChangeLog:
      
      	PR middle-end/82063
      	* gfortran.h (gfc_handle_option): Change function argument
      	to HOST_WIDE_INT.
      	* options.c (gfc_handle_option): Same.
      
      gcc/go/ChangeLog:
      
      	PR middle-end/82063
      	* go-lang.c (go_langhook_handle_option): Change function argument
      	to HOST_WIDE_INT.
      
      gcc/lto/ChangeLog:
      
      	PR middle-end/82063
      	* lto-lang.c (lto_handle_option): Change function argument
      	to HOST_WIDE_INT.
      
      gcc/testsuite/ChangeLog:
      
      	PR middle-end/82063
      	* gcc/testsuite/c-c++-common/pr68657-1.c: Adjust.
      	* gcc/testsuite/c-c++-common/pr68657-2.c: Same.
      	* gcc/testsuite/c-c++-common/pr68657-3.c: Same.
      	* gcc.dg/Walloc-size-larger-than-16.c: Same.
      	* gcc.dg/Walloca-larger-than.c: New test.
      	* gcc.dg/Walloca-larger-than-2.c: New test.
      	* gcc.dg/Wframe-larger-than-2.c: New test.
      	* gcc.dg/Wlarger-than3.c: New test.
      	* gcc.dg/Wvla-larger-than-3.c: New test.
      	* gcc.dg/pr42611.c: Adjust.
      	* gnat.dg/frame_overflow.adb: Same.
      
      gcc/ChangeLog:
      
      	PR middle-end/82063
      	* builtins.c (expand_builtin_alloca): Adjust.
      	* calls.c (alloc_max_size): Simplify.
      	* cgraphunit.c (cgraph_node::expand): Adjust.
      	* common.opt (larger_than_size, warn_frame_larger_than): Remove
      	variables.
      	(frame_larger_than_size): Same.
      	(-Wframe-larger-than, -Wlarger-than, -Wstack-usage): Change options
      	to take a HOST_WIDE_INT argument and accept a byte-size suffix.
      	Initialize.
      	* doc/invoke.texi (GCC Command Options): Document option arguments.
      	Explain byte-size arguments and suffixes.
      	(-Wvla-larger-than, -Wno-alloc-size-larger-than): Update.
      	(-Wno-alloca-larger-than, -Wno-vla-larger-than): Same.
      	(-Wframe-larger-than, -Wlarger-than, -Wstack-usage): Same.
      	* doc/options.texi (UInteger): Expand.
      	(Host_Wide_Int, ByteSize): Document new properties.
      	* final.c (final_start_function_1): Include sizes in an error message.
      	* function.c (frame_offset_overflow): Same.
      	* gimple-ssa-warn-alloca.c (pass_walloca::gate): Adjust.
      	(alloca_call_type_by_arg): Change function argument to HOST_WIDE_INT.
      	Diagnose unbounded alloca calls only for limits of less than
      	PTRDIFF_MAX.
      	(alloca_call_type): Adjust.  Diagnose possibly out-of-bounds alloca
      	calls and VLA size only for limits of less than	PTRDIFF_MAX.  Same
      	for alloca(0).
      	(pass_walloca::execute): Adjust.  Diagnose alloca calls in loops
      	only for limits of less than PTRDIFF_MAX.
      	* langhooks-def.h (lhd_handle_option): Change function argument
      	to HOST_WIDE_INT.
      	* langhooks.c (lhd_handle_option): Same.
      	* langhooks.h (handle_option): Same.
      	* opt-functions.awk (switch_bit_fields): Handle Host_Wide_Int and
      	ByteSize flags.
      	(var_type, var_type_struct): Same.
      	(var_set): Handle ByteSize flag.
      	* optc-gen.awk: Add comments to output to ease debugging.  Make
      	use of HOST_WIDE_INT where appropriate.
      	* opts-gen-save.awk:  Use %lx to format unsigned long.
      	* opth-gen.awk: Change function argument to HOST_WIDE_INT.
      	* opts-common.c (integral_argument): Return HOST_WIDE_INT and add
      	arguments.  Parse bytes-size suffixes.
      	(enum_arg_to_value): Change function argument to HOST_WIDE_INT.
      	(enum_value_to_arg): Same.
      	(decode_cmdline_option): Handle cl_host_wide_int.  Adjust.
      	(handle_option): Adjust.
      	(generate_option): Change function argument to HOST_WIDE_INT.
      	(cmdline_handle_error): Adjust.
      	(read_cmdline_option): Change function argument to HOST_WIDE_INT.
      	(set_option): Change function argument to HOST_WIDE_INT.
      	(option_enabled): Handle cl_host_wide_int.
      	(get_option_state): Handle CLVC_SIZE.
      	(control_warning_option): Same.
      	* opts.c (common_handle_option): Change function argument to
      	HOST_WIDE_INT.  Remove handling of OPT_Walloca_larger_than_ and
      	OPT_Wvla_larger_than_.
      	* opts.h (enum cl_var_type): Add an enumerator.
      	* stor-layout.c (layout_decl): Print a more meaningful warning.
      	* toplev.c (output_stack_usage): Adjust.
      
      From-SVN: r262910
      Martin Sebor committed
    • re PR debug/86585 (ICE in gen_member_die, at dwarf2out.c:24935) · efe0e6cd
      2018-07-20  Richard Biener  <rguenther@suse.de>
      
      	PR debug/86585
      	* dwarf2out.c (dwarf2out_die_ref_for_decl): Test in_lto_p
      	to cover -flto-partition=none.
      	
      	lto/
      	* lto.c (unify_scc): Before we throw away an SCC see if we
      	can amend prevailing single-entry SCC with debug refs.
      
      	* g++.dg/lto/pr86585_0.C: New testcase.
      	* g++.dg/lto/pr86585_1.C: Likewise.
      
      From-SVN: r262901
      Richard Biener committed
  2. 13 Jul, 2018 1 commit
  3. 04 Jul, 2018 1 commit
    • [multiple changes] · c518c102
      
      2018-07-04  Denys Vlasenko  <dvlasenk@redhat.com>
      	    Martin Liska  <mliska@suse.cz>
      
      	PR middle-end/66240
      	PR target/45996
      	PR c/84100
      	* common.opt: Rename align options with 'str_' prefix.
      	* common/config/i386/i386-common.c (set_malign_value): New
      	function.
      	(ix86_handle_option): Use it to set -falign-* options/
      	* config/aarch64/aarch64-protos.h (struct tune_params): Change
      	type from int to string.
      	* config/aarch64/aarch64.c: Update default values from int
      	to string.
      	* config/alpha/alpha.c (alpha_override_options_after_change):
      	Likewise.
      	* config/arm/arm.c (arm_override_options_after_change_1): Likewise.
      	* config/i386/dragonfly.h (ASM_OUTPUT_MAX_SKIP_ALIGN): Print
      	max skip conditionally.
      	* config/i386/freebsd.h (SUBALIGN_LOG): New.
      	(ASM_OUTPUT_MAX_SKIP_ALIGN): Print
      	max skip conditionally.
      	* config/i386/gas.h (ASM_OUTPUT_MAX_SKIP_ALIGN): Print
      	max skip conditionally.
      	* config/i386/gnu-user.h (SUBALIGN_LOG): New.
      	(ASM_OUTPUT_MAX_SKIP_ALIGN): Print
      	max skip conditionally.
      	* config/i386/i386.c (struct ptt): Change type from int to
      	string.
      	(ix86_default_align): Set default values.
      	* config/i386/i386.h (ASM_OUTPUT_MAX_SKIP_PAD): Print
      	max skip conditionally.
      	* config/i386/iamcu.h (SUBALIGN_LOG): New.
      	(ASM_OUTPUT_MAX_SKIP_ALIGN):
      	* config/i386/lynx.h (ASM_OUTPUT_MAX_SKIP_ALIGN):
      	* config/i386/netbsd-elf.h (ASM_OUTPUT_MAX_SKIP_ALIGN): Print
      	max skip conditionally.
      	* config/i386/openbsdelf.h (SUBALIGN_LOG): New.
      	(ASM_OUTPUT_MAX_SKIP_ALIGN) Print max skip conditionally.:
      	* config/i386/x86-64.h (SUBALIGN_LOG): New.
      	(ASM_OUTPUT_MAX_SKIP_ALIGN): Print
      	max skip conditionally.
      	(ASM_OUTPUT_MAX_SKIP_PAD): Likewise.
      	* config/ia64/ia64.c (ia64_option_override): Set default values
              for alignment options.
      	* config/m68k/m68k.c: Handle new str_align_* options.
      	* config/mips/mips.c (mips_set_compression_mode): Change
      	type of constants.
      	(mips_option_override): Set default values for options.
      	* config/powerpcspe/powerpcspe.c (rs6000_option_override_internal):
              Likewise.
      	* config/rs6000/rs6000.c (rs6000_option_override_internal):
      	Likewise.
      	* config/rx/rx.c (rx_option_override): Likewise.
      	* config/rx/rx.h (JUMP_ALIGN): Use align_jumps_log.
      	(LABEL_ALIGN): Use align_labels_log.
      	(LOOP_ALIGN): Use align_loops_align.
      	* config/s390/s390.c (s390_asm_output_function_label): Use new
              macros.
      	* config/sh/sh.c (sh_override_options_after_change):
      	Change type of constants.
      	* config/spu/spu.c (spu_sched_init): Likewise.
      	* config/sparc/sparc.c (sparc_option_override): Set default
              values for options.
      	* config/visium/visium.c (visium_option_override): Likewise.
      	* config/visium/visium.h (ASM_OUTPUT_MAX_SKIP_ALIGN): Do not
              emit p2align format with last argument if it's not needed.
      	* doc/invoke.texi: Document extended format of -falign-*.
      	* final.c: Use align_labels alignment.
      	* flags.h (struct target_flag_state): Change type to use
      	align_flags.
      	(struct align_flags_tuple): New.
      	(struct align_flags): Likewise.
      	(align_loops_log): Redefine macro to use new types.
      	(align_loops_max_skip): Redefine macro to use new types.
      	(align_jumps_log): Redefine macro to use new types.
      	(align_jumps_max_skip): Redefine macro to use new types.
      	(align_labels_log): Redefine macro to use new types.
      	(align_labels_max_skip): Redefine macro to use new types.
      	(align_functions_log): Redefine macro to use new types.
      	(align_loops): Redefine macro to use new types.
      	(align_jumps): Redefine macro to use new types.
      	(align_labels): Redefine macro to use new types.
      	(align_functions): Redefine macro to use new types.
      	(align_functions_max_skip): Redefine macro to use new types.
      	(align_loops_value): New macro.
      	(align_jumps_value): New macro.
      	(align_labels_value): New macro.
      	(align_functions_value): New macro.
      	* function.c (invoke_set_current_function_hook): Propagate
      	alignment values from flags to global variables default in
      	topleev.h.
      	* ipa-icf.c (sem_function::equals_wpa): Use
      	cl_optimization_option_eq instead of memcmp.
      	* lto-streamer.h (cl_optimization_stream_out): Support streaming
      	of string types.
      	(cl_optimization_stream_in): Likewise.
      	* optc-save-gen.awk: Support strings in cl_optimization.
      	* opth-gen.awk: Likewise.
      	* opts.c (finish_options): Remove error checking of invalid
      	value ranges.
      	(MAX_CODE_ALIGN): Remove.
      	(MAX_CODE_ALIGN_VALUE): Likewise.
      	(parse_and_check_align_values): New function.
      	(check_alignment_argument): Likewise.
      	(common_handle_option): Use check_alignment_argument.
      	* opts.h (parse_and_check_align_values): Declare.
      	* toplev.c (init_alignments): Remove.
      	(read_log_maxskip): New.
      	(parse_N_M): Likewise.
      	(parse_alignment_opts): Likewise.
      	(backend_init_target): Remove usage of init_alignments.
      	* toplev.h (parse_alignment_opts): Declare.
      	* tree-streamer-in.c (streamer_read_tree_bitfields): Add new
      	argument.
      	* tree-streamer-out.c (streamer_write_tree_bitfields): Likewise.
      	* tree.c (cl_option_hasher::equal): New.
      	* varasm.c: Use new global macros.
      2018-07-04  Martin Liska  <mliska@suse.cz>
      
      	PR middle-end/66240
      	PR target/45996
      	PR c/84100
      	* lto.c (compare_tree_sccs_1): Use cl_optimization_option_eq
      	instead of memcmp.
      2018-07-04  Martin Liska  <mliska@suse.cz>
      
      	PR middle-end/66240
      	PR target/45996
      	PR c/84100
      	* gcc.dg/pr84100.c (foo):
      	* gcc.target/i386/falign-functions-2.c: New test.
      	* gcc.target/i386/falign-functions.c: New test.
      
      From-SVN: r262375
      Martin Liska committed
  4. 20 Jun, 2018 1 commit
  5. 19 Jun, 2018 2 commits
    • Clean-up usage of ipa_fn_summary and ipa_call_summary summaries. · 56f62793
      2018-06-19  Martin Liska  <mliska@suse.cz>
      
      	* config/i386/i386.c (ix86_can_inline_p): Do not use
              ipa_fn_summaries::get_create.
      	* ipa-cp.c (ipcp_cloning_candidate_p): Replace get_create with
              get.
      	(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_call_summary::reset): Tranform to ...
      	(ipa_call_summary::~ipa_call_summary): ... this.
      	(ipa_fn_summary::reset): Transform to ...
      	(ipa_fn_summary::~ipa_fn_summary): ... this.
      	(ipa_fn_summary_t::remove): Rename to ...
      	(ipa_fn_summary_t::remove_callees): ... this.
      	(ipa_fn_summary_t::duplicate): Use placement new
              instead of memory copy.
      	(ipa_call_summary_t::duplicate): Likewise.
      	(ipa_call_summary_t::remove): Remove.
      	(dump_ipa_call_summary): Change get_create to get.
      	(ipa_dump_fn_summary): Dump only when summary exists.
      	(analyze_function_body): Use symbol_summary::get instead
              of get_create.
      	(compute_fn_summary): Likewise.
      	(estimate_edge_devirt_benefit): Likewise.
      	(estimate_edge_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.
      	(write_ipa_call_summary): Likewise.
      	(ipa_fn_summary_write): Likewise.
      	(ipa_free_fn_summary): Likewise.
      	* ipa-fnsummary.h (struct GTY): Add new ctor and copy ctor.
      	(struct ipa_call_summary): Likewise.
      	* ipa-icf.c (sem_function::merge): Use symbol_summary::get instead
              of get_create.
      	* ipa-inline-analysis.c (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.
      	(inline_small_functions): Likewise.
      	(inline_to_all_callers_1): Likewise.
      	(dump_overall_stats): Likewise.
      	(early_inline_small_functions): Likewise.
      	(early_inliner): Likewise.
      	* ipa-profile.c (ipa_propagate_frequency_1): Likewise.
      	* ipa-prop.c (ipa_make_edge_direct_to_target): Likewise.
      	* ipa-pure-const.c (malloc_candidate_p): Likewise.
      	* ipa-split.c (execute_split_functions): Likewise.
      	* symbol-summary.h: Likewise.
      	* tree-sra.c (ipa_sra_preliminary_function_checks): Likewise.
      2018-06-19  Martin Liska  <mliska@suse.cz>
      
      	* lto-partition.c (add_symbol_to_partition_1): Use symbol_summary::get instead
              of get_create.
      	(undo_partition): Likewise.
      	(lto_balanced_map): Likewise.
      
      From-SVN: r261744
      Martin Liska committed
    • Remove unused stagestuff in config-lang.in. · 1724941e
      2018-06-19  Martin Liska  <mliska@suse.cz>
      
      	* config-lang.in: Remove stagestuff.
      
      From-SVN: r261733
      Martin Liska committed
  6. 08 Jun, 2018 4 commits
    • dumpfile.c (FIRST_ME_AUTO_NUMBERED_DUMP): Bump to 4. · 29a50dfb
      	* dumpfile.c (FIRST_ME_AUTO_NUMBERED_DUMP): Bump to 4.
      	* lto-lang.c (lto_link_dump_id, decl_merge_dump_id, partition_dump_id):
      	New global vars.
      	(lto_register_dumps): New hook.
      	(LANG_HOOKS_REGISTER_DUMPS): New.
      	* lto-partition.c: Dump into dump_file instead of symtab->dump_file.
      	* lto-symtab.c: Include lto.h; dump into dump_file instead of
      	symtab->dump_file.
      	(lto_symtab_merge_decls): Initialize dump file.
      	* lto.c (read_cgraph_and_symbols): Initialize dump file.
      	(do_whole_program_analysis): Likewise.
      
      From-SVN: r261337
      Jan Hubicka 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
    • 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
    • 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
  7. 05 Jun, 2018 1 commit
  8. 30 May, 2018 1 commit
    • passes.c (ipa_write_summaries): Only modify statements if body is in memory. · 5b42d196
      	* passes.c (ipa_write_summaries): Only modify statements if body
      	is in memory.
      	* cgraphunit.c (ipa_passes): Also produce intermeidate code when
      	incrementally linking.
      	(ipa_passes): Likewise.
      	* lto-cgraph.c (lto_output_node): When incrementally linking do not
      	pass down resolution info.
      	* common.opt (flag_incremental_link): Update info.
      	* gcc.c (plugin specs): Turn flinker-output=* to
      	-plugin-opt=-linker-output-known
      	* toplev.c (compile_file): Also cut compilation when doing incremental
      	link.
      	* flag-types. (enum lto_partition_model): Add
      	LTO_LINKER_OUTPUT_NOLTOREL.
      	(invoke.texi): Add -flinker-output docs.
      	* ipa.c (symbol_table::remove_unreachable_nodes): Handle LTO incremental
      	link same way as WPA; do not stream in dead initializers.
      
      	* dwarf2out.c (dwarf2out_die_ref_for_decl,
      	darf2out_register_external_decl): Support incremental link.
      
      	* lang.opt (lto_linker_output): Add nolto-rel.
      	* lto-lang.c (lto_post_options): Handle LTO_LINKER_OUTPUT_REL
      	and LTO_LINKER_OUTPUT_NOLTOREL.
      	(lto_init): Generate lto when doing incremental link.
      	* lto.c (lto_precess_name): Add lto1-inclink.
      
      	* testsuite/g++.dg/lto/20081109-1_0.C: Add -flinker-output=nolto-rel.
      	* testsuite/g++.dg/lto/20081118_0.C: Add -flinker-output=nolto-rel.
      	* testsuite/g++.dg/lto/20081119-1_0.C: Add -flinker-output=nolto-rel.
      	* testsuite/g++.dg/lto/20081120-1_0.C: Add -flinker-output=nolto-rel.
      	* testsuite/g++.dg/lto/20081120-2_0.C: Add -flinker-output=nolto-rel.
      	* testsuite/g++.dg/lto/20081123_0.C: Add -flinker-output=nolto-rel.
      	* testsuite/g++.dg/lto/20081204-1_0.C: Add -flinker-output=nolto-rel.
      	* testsuite/g++.dg/lto/20081219_0.C: Add -flinker-output=nolto-rel.
      	* testsuite/g++.dg/lto/20090302_0.C: Add -flinker-output=nolto-rel.
      	* testsuite/g++.dg/lto/20090313_0.C: Add -flinker-output=nolto-rel.
      	* testsuite/g++.dg/lto/20091002-2_0.C: Add -flinker-output=nolto-rel.
      	* testsuite/g++.dg/lto/20091002-3_0.C: Add -flinker-output=nolto-rel.
      	* testsuite/g++.dg/lto/20091026-1_0.C: Add -flinker-output=nolto-rel.
      	* testsuite/g++.dg/lto/20100724-1_0.C: Add -flinker-output=nolto-rel.
      	* testsuite/g++.dg/lto/20101010-4_0.C: Add -flinker-output=nolto-rel.
      	* testsuite/g++.dg/lto/20101015-2_0.C: Add -flinker-output=nolto-rel.
      	* testsuite/g++.dg/lto/20110311-1_0.C: Add -flinker-output=nolto-rel.
      	* testsuite/g++.dg/lto/pr45621_0.C: Add -flinker-output=nolto-rel.
      	* testsuite/g++.dg/lto/pr48042_0.C: Add -flinker-output=nolto-rel.
      	* testsuite/g++.dg/lto/pr48354-1_0.C: Add -flinker-output=nolto-rel.
      	* testsuite/g++.dg/lto/pr54625-1_0.c: Add -flinker-output=nolto-rel.
      	* testsuite/g++.dg/lto/pr54625-2_0.c: Add -flinker-output=nolto-rel.
      	* testsuite/g++.dg/lto/pr68811_0.C: Add -flinker-output=nolto-rel.
      	* testsuite/g++.dg/torture/pr43760.C: New test. Add -flinker-output=nolto-rel.
      	* testsuite/gcc.dg/lto/20081120-1_0.c: Add -flinker-output=nolto-rel.
      	* testsuite/gcc.dg/lto/20081120-2_0.c: Add -flinker-output=nolto-rel.
      	* testsuite/gcc.dg/lto/20081126_0.c: Add -flinker-output=nolto-rel.
      	* testsuite/gcc.dg/lto/20081204-1_0.c: Add -flinker-output=nolto-rel.
      	* testsuite/gcc.dg/lto/20081204-2_0.c: Add -flinker-output=nolto-rel.
      	* testsuite/gcc.dg/lto/20081212-1_0.c: Add -flinker-output=nolto-rel.
      	* testsuite/gcc.dg/lto/20081224_0.c: Add -flinker-output=nolto-rel.
      	* testsuite/gcc.dg/lto/20090116_0.c: Add -flinker-output=nolto-rel.
      	* testsuite/gcc.dg/lto/20090126-1_0.c: Add -flinker-output=nolto-rel.
      	* testsuite/gcc.dg/lto/20090126-2_0.c: Add -flinker-output=nolto-rel.
      	* testsuite/gcc.dg/lto/20090206-1_0.c: Add -flinker-output=nolto-rel.
      	* testsuite/gcc.dg/lto/20090219_0.c: Add -flinker-output=nolto-rel.
      	* testsuite/gcc.dg/lto/20091013-1_0.c: Add -flinker-output=nolto-rel.
      	* testsuite/gcc.dg/lto/20091014-1_0.c: Add -flinker-output=nolto-rel.
      	* testsuite/gcc.dg/lto/20091015-1_0.c: Add -flinker-output=nolto-rel.
      	* testsuite/gcc.dg/lto/20091016-1_0.c: Add -flinker-output=nolto-rel.
      	* testsuite/gcc.dg/lto/20091020-1_0.c: Add -flinker-output-nolto-rel.
      	* testsuite/gcc.dg/lto/20091020-2_0.c: Add -flinker-output-nolto-rel.
      	* testsuite/gcc.dg/lto/20091027-1_0.c: Add -flinker-output-nolto-rel.
      	* testsuite/gcc.dg/lto/20100426_0.c: Add -flinker-output-nolto-rel.
      	* testsuite/gcc.dg/lto/20100430-1_0.c: Add -flinker-output-nolto-rel.
      	* testsuite/gcc.dg/lto/20100603-1_0.c: Add -flinker-output-nolto-rel.
      	* testsuite/gcc.dg/lto/20100603-2_0.c: Add -flinker-output-nolto-rel.
      	* testsuite/gcc.dg/lto/20100603-3_0.c: Add -flinker-output-nolto-rel.
      	* testsuite/gcc.dg/lto/20111213-1_0.c: Add -flinker-output-nolto-rel.
      	* testsuite/gcc.dg/lto/pr45736_0.c: Add -flinker-output-nolto-rel.
      	* testsuite/gcc.dg/lto/pr52634_0.c: Add -flinker-output-nolto-rel.
      	* testsuite/gcc.dg/lto/pr54702_0.c: Add -flinker-output-nolto-rel.
      	* testsuite/gcc.dg/lto/pr59323-2_0.c: Add -flinker-output-nolto-rel.
      	* testsuite/gcc.dg/lto/pr59323_0.c: Add -flinker-output-nolto-rel.
      	* testsuite/gcc.dg/lto/pr60820_0.c: Add -flinker-output-nolto-rel.
      	* testsuite/gcc.dg/lto/pr81406_0.c: Add -flinker-output-nolto-rel.
      	* testsuite/gcc.dg/lto/pr83388_0.c: Add -flinker-output-nolto-rel.
      	* testsuite/gfortran.dg/lto/20091016-1_0.f90: Add -flinker-output-nolto-rel.
      	* testsuite/gfortran.dg/lto/20091028-1_0.f90: Add -flinker-output-nolto-rel.
      	* testsuite/gfortran.dg/lto/20091028-2_0.f90: Add -flinker-output-nolto-rel.
      	* testsuite/gfortran.dg/lto/pr46911_0.f: Add -flinker-output-nolto-rel.
      	* testsuite/gfortran.dg/lto/pr47839_0.f90: Add -flinker-output-nolto-rel.
      
      From-SVN: r260963
      Jan Hubicka committed
  9. 15 May, 2018 1 commit
  10. 30 Apr, 2018 2 commits
  11. 29 Apr, 2018 1 commit
    • lto-partition.c: Include sreal.h · ddb0b824
      	* lto-partition.c: Include sreal.h
      	(add_symbol_to_partition_1): Use size instead of self_size
      	for size estimate.
      	(account_reference_p): New.
      	(lto_balanced_map): Use 64bit arithmetics for size calculatoins; cleanup;
      	fix accounting errors in boundary size; add debug output; combine cost
      	as cost/size instead of cost/internal; reduce the partitioning error to
      	+- 1/8 of the parttion size.
      
      From-SVN: r259749
      Jan Hubicka committed
  12. 19 Apr, 2018 1 commit
  13. 18 Apr, 2018 3 commits
    • Fix coding style and typos. · 6867cd69
      2018-04-18  Martin Liska  <mliska@suse.cz>
      
      	* ipa-devirt.c (odr_subtypes_equivalent_p): Fix GNU coding
      	style.
      2018-04-18  Martin Liska  <mliska@suse.cz>
      
      	* lto.c (lto_read_decls): Fix GNU coding style and typos.
      
      From-SVN: r259480
      Martin Liska committed
    • Make Wodr warnings stable. · af597536
      2018-04-18  Martin Liska  <mliska@suse.cz>
      
      	PR ipa/83983
      	PR ipa/85391
      	* lto.c (cmp_type_location): New function.
      	(lto_read_decls): First collect all types, then
      	sort them according by location before register_odr_type
      	is called.
      2018-04-18  Martin Liska  <mliska@suse.cz>
      
      	PR ipa/83983
      	PR ipa/85391
      	* g++.dg/lto/pr83121_1.C (struct Environment): Adjust expected
      	output.
      
      From-SVN: r259479
      Martin Liska committed
    • re PR lto/85391 (ICE in add_type_duplicate, at ipa-devirt.c:1887) · 7d6051b1
      	PR lto/85391
      	* lto.c (lto_read_decls): Do not test TYPE_CANONICAL before registering odr
      	types.
      	* g++.dg/lto/pr83121_0.C: Update template.
      	* g++.dg/lto/pr83121_1.C: Update template.
      	* g++.dg/lto/pr84805_0.C: Update template.
      	* g++.dg/lto/pr84805_1.C: Update template.
      	* g++.dg/lto/pr84805_2.C: Update template.
      
      Co-Authored-By: Martin Liska <mliska@suse.cz>
      
      From-SVN: r259464
      Jan Hubicka committed
  14. 11 Apr, 2018 1 commit
  15. 10 Apr, 2018 2 commits
  16. 23 Feb, 2018 1 commit
  17. 08 Feb, 2018 1 commit
    • re PR ipa/81360 (ice in estimate_edge_growth, at ipa-inline.h:86) · 39aa9b23
      	PR ipa/81360
      	* cgraph.h (symtab_node::output_to_lto_symbol_table_p): Declare
      	* symtab.c: Include builtins.h
      	(symtab_node::output_to_lto_symbol_table_p): Move here
      	from lto-streamer-out.c:output_symbol_p.
      	* lto-streamer-out.c (write_symbol): Turn early exit to assert.
      	(output_symbol_p): Move all logic to symtab.c
      	(produce_symtab): Update.
      
      	* lto.c (unify_scc): Register prevailing trees, not trees to be freed.
      	(read_cgraph_and_symbols): Use
      	symtab_node::output_to_lto_symbol_table_p.
      
      From-SVN: r257490
      Jan Hubicka committed
  18. 07 Feb, 2018 1 commit
  19. 06 Feb, 2018 1 commit
  20. 02 Feb, 2018 1 commit
  21. 30 Jan, 2018 1 commit
  22. 23 Jan, 2018 1 commit
    • Handle trailing arrays in ODR warning (PR lto/81440). · cde9b2f8
      2018-01-23  Martin Liska  <mliska@suse.cz>
      
      	PR lto/81440
      	* lto-symtab.c (lto_symtab_merge): Handle and do not warn about
      	trailing arrays at the end of a struct.
      2018-01-23  Martin Liska  <mliska@suse.cz>
      
      	PR lto/81440
      	* gcc.dg/lto/pr81440.h: New test.
      	* gcc.dg/lto/pr81440_0.c: New test.
      	* gcc.dg/lto/pr81440_1.c: New test.
      
      From-SVN: r256989
      Martin Liska committed
  23. 03 Jan, 2018 3 commits
    • Add support for MODE_VECTOR_BOOL · 5c0caeb3
      This patch adds a new mode class to represent vectors of booleans.
      GET_MODE_BITSIZE (m) / GET_MODE_NUNITS (m) determines the number
      of bits that are used to represent each boolean; this can be 1
      for a fully-packed representation or greater than 1 for an unpacked
      representation.  In the latter case, the value of bits other than
      the lowest is not significant.
      
      These are used by the SVE port to represent predicates.
      
      2018-01-03  Richard Sandiford  <richard.sandiford@linaro.org>
      	    Alan Hayward  <alan.hayward@arm.com>
      	    David Sherwood  <david.sherwood@arm.com>
      
      gcc/
      	* mode-classes.def (MODE_VECTOR_BOOL): New mode class.
      	* machmode.h (INTEGRAL_MODE_P, VECTOR_MODE_P): Return true
      	for MODE_VECTOR_BOOL.
      	* machmode.def (VECTOR_BOOL_MODE): Document.
      	* genmodes.c (VECTOR_BOOL_MODE): New macro.
      	(make_vector_bool_mode): New function.
      	(complete_mode, emit_mode_wider, emit_mode_adjustments): Handle
      	MODE_VECTOR_BOOL.
      	* lto-streamer-in.c (lto_input_mode_table): Likewise.
      	* rtx-vector-builder.c (rtx_vector_builder::find_cached_value):
      	Likewise.
      	* stor-layout.c (int_mode_for_mode): Likewise.
      	* tree.c (build_vector_type_for_mode): Likewise.
      	* varasm.c (output_constant_pool_2): Likewise.
      	* emit-rtl.c (init_emit_once): Make sure that CONST1_RTX (BImode) and
      	CONSTM1_RTX (BImode) are the same thing.  Initialize const_tiny_rtx
      	for MODE_VECTOR_BOOL.
      	* expr.c (expand_expr_real_1): Use VECTOR_MODE_P instead of a list
      	of mode class checks.
      	* tree-vect-generic.c (expand_vector_operation): Use VECTOR_MODE_P
      	instead of a list of mode class checks.
      	(expand_vector_scalar_condition): Likewise.
      	(type_for_widest_vector_mode): Handle BImode as an inner mode.
      
      gcc/c-family/
      	* c-common.c (c_common_type_for_mode): Handle MODE_VECTOR_BOOL.
      
      gcc/fortran/
      	* trans-types.c (gfc_type_for_mode): Handle MODE_VECTOR_BOOL.
      
      gcc/go/
      	* go-lang.c (go_langhook_type_for_mode): Handle MODE_VECTOR_BOOL.
      
      gcc/lto/
      	* lto-lang.c (lto_type_for_mode): Handle MODE_VECTOR_BOOL.
      
      Co-Authored-By: Alan Hayward <alan.hayward@arm.com>
      Co-Authored-By: David Sherwood <david.sherwood@arm.com>
      
      From-SVN: r256202
      Richard Sandiford committed
    • poly_int: TYPE_VECTOR_SUBPARTS · 928686b1
      This patch changes TYPE_VECTOR_SUBPARTS to a poly_uint64.  The value is
      encoded in the 10-bit precision field and was previously always stored
      as a simple log2 value.  The challenge was to use this 10 bits to
      encode the number of elements in variable-length vectors, so that
      we didn't need to increase the size of the tree.
      
      In practice the number of vector elements should always have the form
      N + N * X (where X is the runtime value), and as for constant-length
      vectors, N must be a power of 2 (even though X itself might not be).
      The patch therefore uses the low 8 bits to encode log2(N) and bit
      8 to select between constant-length and variable-length vectors.
      Targets without variable-length vectors continue to use the old scheme.
      
      A new valid_vector_subparts_p function tests whether a given number
      of elements can be encoded.  This is false for the vector modes that
      represent an LD3 or ST3 vector triple (which we want to treat as arrays
      of vectors rather than single vectors).
      
      Most of the patch is mechanical; previous patches handled the changes
      that weren't entirely straightforward.
      
      2018-01-03  Richard Sandiford  <richard.sandiford@linaro.org>
      	    Alan Hayward  <alan.hayward@arm.com>
      	    David Sherwood  <david.sherwood@arm.com>
      
      gcc/
      	* tree.h (TYPE_VECTOR_SUBPARTS): Turn into a function and handle
      	polynomial numbers of units.
      	(SET_TYPE_VECTOR_SUBPARTS): Likewise.
      	(valid_vector_subparts_p): New function.
      	(build_vector_type): Remove temporary shim and take the number
      	of units as a poly_uint64 rather than an int.
      	(build_opaque_vector_type): Take the number of units as a
      	poly_uint64 rather than an int.
      	* tree.c (build_vector_from_ctor): Handle polynomial
      	TYPE_VECTOR_SUBPARTS.
      	(type_hash_canon_hash, type_cache_hasher::equal): Likewise.
      	(uniform_vector_p, vector_type_mode, build_vector): Likewise.
      	(build_vector_from_val): If the number of units is variable,
      	use build_vec_duplicate_cst for constant operands and
      	VEC_DUPLICATE_EXPR otherwise.
      	(make_vector_type): Remove temporary is_constant ().
      	(build_vector_type, build_opaque_vector_type): Take the number of
      	units as a poly_uint64 rather than an int.
      	(check_vector_cst): Handle polynomial TYPE_VECTOR_SUBPARTS and
      	VECTOR_CST_NELTS.
      	* cfgexpand.c (expand_debug_expr): Likewise.
      	* expr.c (count_type_elements, categorize_ctor_elements_1): Likewise.
      	(store_constructor, expand_expr_real_1): Likewise.
      	(const_scalar_mask_from_tree): Likewise.
      	* fold-const-call.c (fold_const_reduction): Likewise.
      	* fold-const.c (const_binop, const_unop, fold_convert_const): Likewise.
      	(operand_equal_p, fold_vec_perm, fold_ternary_loc): Likewise.
      	(native_encode_vector, vec_cst_ctor_to_array): Likewise.
      	(fold_relational_const): Likewise.
      	(native_interpret_vector): Likewise.  Change the size from an
      	int to an unsigned int.
      	* gimple-fold.c (gimple_fold_stmt_to_constant_1): Handle polynomial
      	TYPE_VECTOR_SUBPARTS.
      	(gimple_fold_indirect_ref, gimple_build_vector): Likewise.
      	(gimple_build_vector_from_val): Use VEC_DUPLICATE_EXPR when
      	duplicating a non-constant operand into a variable-length vector.
      	* hsa-brig.c (hsa_op_immed::emit_to_buffer): Handle polynomial
      	TYPE_VECTOR_SUBPARTS and VECTOR_CST_NELTS.
      	* ipa-icf.c (sem_variable::equals): Likewise.
      	* match.pd: Likewise.
      	* omp-simd-clone.c (simd_clone_subparts): Likewise.
      	* print-tree.c (print_node): Likewise.
      	* stor-layout.c (layout_type): Likewise.
      	* targhooks.c (default_builtin_vectorization_cost): Likewise.
      	* tree-cfg.c (verify_gimple_comparison): Likewise.
      	(verify_gimple_assign_binary): Likewise.
      	(verify_gimple_assign_ternary): Likewise.
      	(verify_gimple_assign_single): Likewise.
      	* tree-pretty-print.c (dump_generic_node): Likewise.
      	* tree-ssa-forwprop.c (simplify_vector_constructor): Likewise.
      	(simplify_bitfield_ref, is_combined_permutation_identity): Likewise.
      	* tree-vect-data-refs.c (vect_permute_store_chain): Likewise.
      	(vect_grouped_load_supported, vect_permute_load_chain): Likewise.
      	(vect_shift_permute_load_chain): Likewise.
      	* tree-vect-generic.c (nunits_for_known_piecewise_op): Likewise.
      	(expand_vector_condition, optimize_vector_constructor): Likewise.
      	(lower_vec_perm, get_compute_type): Likewise.
      	* tree-vect-loop.c (vect_determine_vectorization_factor): Likewise.
      	(get_initial_defs_for_reduction, vect_transform_loop): Likewise.
      	* tree-vect-patterns.c (vect_recog_bool_pattern): Likewise.
      	(vect_recog_mask_conversion_pattern): Likewise.
      	* tree-vect-slp.c (vect_supported_load_permutation_p): Likewise.
      	(vect_get_constant_vectors, vect_transform_slp_perm_load): Likewise.
      	* tree-vect-stmts.c (perm_mask_for_reverse): Likewise.
      	(get_group_load_store_type, vectorizable_mask_load_store): Likewise.
      	(vectorizable_bswap, simd_clone_subparts, vectorizable_assignment)
      	(vectorizable_shift, vectorizable_operation, vectorizable_store)
      	(vectorizable_load, vect_is_simple_cond, vectorizable_comparison)
      	(supportable_widening_operation): Likewise.
      	(supportable_narrowing_operation): Likewise.
      	* tree-vector-builder.c (tree_vector_builder::binary_encoded_nelts):
      	Likewise.
      	* varasm.c (output_constant): Likewise.
      
      gcc/ada/
      	* gcc-interface/utils.c (gnat_types_compatible_p): Handle
      	polynomial TYPE_VECTOR_SUBPARTS.
      
      gcc/brig/
      	* brigfrontend/brig-to-generic.cc (get_unsigned_int_type): Handle
      	polynomial TYPE_VECTOR_SUBPARTS.
      	* brigfrontend/brig-util.h (gccbrig_type_vector_subparts): Likewise.
      
      gcc/c-family/
      	* c-common.c (vector_types_convertible_p, c_build_vec_perm_expr)
      	(convert_vector_to_array_for_subscript): Handle polynomial
      	TYPE_VECTOR_SUBPARTS.
      	(c_common_type_for_mode): Check valid_vector_subparts_p.
      	* c-pretty-print.c (pp_c_initializer_list): Handle polynomial
      	VECTOR_CST_NELTS.
      
      gcc/c/
      	* c-typeck.c (comptypes_internal, build_binary_op): Handle polynomial
      	TYPE_VECTOR_SUBPARTS.
      
      gcc/cp/
      	* constexpr.c (cxx_eval_array_reference): Handle polynomial
      	VECTOR_CST_NELTS.
      	(cxx_fold_indirect_ref): Handle polynomial TYPE_VECTOR_SUBPARTS.
      	* call.c (build_conditional_expr_1): Likewise.
      	* decl.c (cp_finish_decomp): Likewise.
      	* mangle.c (write_type): Likewise.
      	* typeck.c (structural_comptypes): Likewise.
      	(cp_build_binary_op): Likewise.
      	* typeck2.c (process_init_constructor_array): Likewise.
      
      gcc/fortran/
      	* trans-types.c (gfc_type_for_mode): Check valid_vector_subparts_p.
      
      gcc/lto/
      	* lto-lang.c (lto_type_for_mode): Check valid_vector_subparts_p.
      	* lto.c (hash_canonical_type): Handle polynomial TYPE_VECTOR_SUBPARTS.
      
      gcc/go/
      	* go-lang.c (go_langhook_type_for_mode): Check valid_vector_subparts_p.
      
      Co-Authored-By: Alan Hayward <alan.hayward@arm.com>
      Co-Authored-By: David Sherwood <david.sherwood@arm.com>
      
      From-SVN: r256197
      Richard Sandiford committed
    • Update copyright years. · 85ec4feb
      From-SVN: r256169
      Jakub Jelinek committed
  24. 15 Dec, 2017 1 commit
    • tree-core.h (struct attribute_spec): Swap affects_type_identity and handler fields. · 4849deb1
      	* tree-core.h (struct attribute_spec): Swap affects_type_identity and
      	handler fields.
      	* config/alpha/alpha.c (vms_attribute_table): Swap
      	affects_type_identity and handler fields, adjust comments.
      	* config/mips/mips.c (mips_attribute_table): Likewise.
      	* config/visium/visium.c (visium_attribute_table): Likewise.
      	* config/epiphany/epiphany.c (epiphany_attribute_table): Likewise.
      	* config/microblaze/microblaze.c (microblaze_attribute_table):
      	Likewise.
      	* config/spu/spu.c (spu_attribute_table): Likewise.
      	* config/mcore/mcore.c (mcore_attribute_table): Likewise.
      	* config/arc/arc.c (arc_attribute_table): Likewise.
      	* config/m68k/m68k.c (m68k_attribute_table): Likewise.
      	* config/v850/v850.c (v850_handle_interrupt_attribute,
      	v850_handle_data_area_attribute): Formatting fixes.
      	(v850_attribute_table): Swap affects_type_identity and handler
      	fields, adjust comments.
      	* config/m32r/m32r.c (m32r_attribute_table): Likewise.
      	* config/arm/arm.c (arm_attribute_table): Likewise.
      	* config/avr/avr.c (avr_attribute_table): Likewise.
      	* config/s390/s390.c (s390_attribute_table): Likewise.
      	* config/sh/sh.c (sh_attribute_table): Likewise.
      	* config/i386/i386.c (ix86_handle_cconv_attribute,
      	ix86_handle_callee_pop_aggregate_return): Formatting fixes.
      	(ix86_attribute_table): Swap affects_type_identity and handler
      	fields, adjust comments.
      	* config/i386/cygming.h (SUBTARGET_ATTRIBUTE_TABLE): Likewise.
      	* config/sparc/sparc.c (sparc_attribute_table): Likewise.
      	* config/m32c/m32c.c (m32c_attribute_table): Likewise.
      	* config/sol2.h (SOLARIS_ATTRIBUTE_TABLE): Likewise.
      	* config/ia64/ia64.c (ia64_attribute_table): Likewise.
      	* config/msp430/msp430.c (msp430_attribute_table): Likewise.
      	* config/rx/rx.c (rx_attribute_table): Likewise.
      	* config/cr16/cr16.c (cr16_attribute_table): Likewise.
      	* config/h8300/h8300.c (h8300_attribute_table): Likewise.
      	* config/nvptx/nvptx.c (nvptx_attribute_table): Likewise.
      	* config/powerpcspe/powerpcspe.c (rs6000_attribute_table): Likewise.
      	* config/darwin.h (SUBTARGET_ATTRIBUTE_TABLE): Likewise.
      	* config/stormy16/stormy16.c (xstormy16_attribute_table): Likewise.
      	* config/bfin/bfin.c (bfin_attribute_table): Likewise.
      	* config/rs6000/rs6000.c (rs6000_attribute_table): Likewise.
      	* config/rl78/rl78.c (rl78_attribute_table): Likewise.
      	* config/nds32/nds32.c (nds32_attribute_table): Likewise.
      	* doc/plugins.texi (user_attr): Likewise.  Add NULL for
      	exclude.
      	* attribs.c (empty_attribute_table): Swap affects_type_identity and
      	handler fields.
      	(register_scoped_attributes, decl_attributes): Formatting fixes.
      ada/
      	* gcc-interface/utils.c (gnat_internal_attribute_table): Swap
      	affects_type_identity and handler fields, adjust comments.
      brig/
      	* brig-lang.c (brig_attribute_table): Swap affects_type_identity
      	and handler fields, adjust comments.
      c-family/
      	* c-attribs.c (c_common_attribute_table,
      	c_common_format_attribute_table): Swap affects_type_identity
      	and handler fields, adjust comments.
      cp/
      	* tree.c (cxx_attribute_table, std_attribute_table): Swap
      	affects_type_identity and handler fields, adjust comments.
      fortran/
      	* f95-lang.c (gfc_attribute_table): Swap affects_type_identity
      	and handler fields, adjust comments.
      lto/
      	* lto-lang.c (lto_attribute_table, lto_format_attribute_table): Swap
      	affects_type_identity and handler fields, adjust comments.
      testsuite/
      	* g++.dg/plugin/attribute_plugin.c (user_attr): Swap
      	affects_type_identity and handler fields, add NULL for exclude.
      
      From-SVN: r255699
      Jakub Jelinek committed
  25. 07 Dec, 2017 2 commits
    • New VECTOR_CST layout · 734914b6
      This patch uses a simple compression scheme to represent the contents
      of a VECTOR_CST using its leading elements.  There are three formats:
      
      1) a repeating sequence of N values.  This is encoded using the first
         N elements.
      
      2) a "foreground" sequence of N values inserted at the beginning of
         a "background" repeating sequence of N values, such as:
         { 1, 2, 0, 0, 0, 0, ... }.  This is encoded using the first 2*N
         elements.
      
      2) a "foreground" sequence of N values inserted at the beginning of
         a "background" repeating sequence of N interleaved linear series,
         such as: { 0, 0, 8, 10, 9, 11, 10, 12, ... }.  This is encoded
         using the first 3*N elements.  In practice the foreground values
         are often part of the same series as the background values,
         such as: { 1, 11, 2, 12, 3, 13, ... }.
      
      This reduces the amount of work involved in processing simple
      vector constants and means that the encoding extends naturally
      to variable-length vectors.
      
      2017-12-07  Richard Sandiford  <richard.sandiford@arm.com>
      
      gcc/
      	* doc/generic.texi (VECTOR_CST): Describe new representation of
      	vector constants.
      	* vector-builder.h: New file.
      	* tree-vector-builder.h: Likewise.
      	* tree-vector-builder.c: Likewise.
      	* Makefile.in (OBJS): Add tree-vector-builder.o.
      	* tree.def (VECTOR_CST): Update comment to refer to generic.texi.
      	* tree-core.h (tree_base): Add a vector_cst field to the u union.
      	(tree_vector): Change the number of elements to
      	vector_cst_encoded_nelts.
      	* tree.h (VECTOR_CST_NELTS): Redefine using TYPE_VECTOR_SUBPARTS.
      	(VECTOR_CST_ELTS): Delete.
      	(VECTOR_CST_ELT): Redefine using vector_cst_elt.
      	(VECTOR_CST_LOG2_NPATTERNS, VECTOR_CST_NPATTERNS): New macros.
      	(VECTOR_CST_NELTS_PER_PATTERN, VECTOR_CST_DUPLICATE_P): Likewise.
      	(VECTOR_CST_STEPPED_P, VECTOR_CST_ENCODED_ELTS): Likewise.
      	(VECTOR_CST_ENCODED_ELT): Likewise.
      	(vector_cst_encoded_nelts): New function.
      	(make_vector): Take the values of VECTOR_CST_LOG2_NPATTERNS and
      	VECTOR_CST_NELTS_PER_PATTERN as arguments.
      	(vector_cst_int_elt, vector_cst_elt): Declare.
      	* tree.c: Include tree-vector-builder.h.
      	(tree_code_size): Abort if passed VECTOR_CST.
      	(tree_size): Update for new VECTOR_CST layout.
      	(make_vector): Take the values of VECTOR_CST_LOG2_NPATTERNS and
      	VECTOR_CST_NELTS_PER_PATTERN as arguments.
      	(build_vector): Use tree_vector_builder.
      	(vector_cst_int_elt, vector_cst_elt): New functions.
      	(drop_tree_overflow): For VECTOR_CST, drop the TREE_OVERFLOW from the
      	encoded elements and then create the vector in the canonical form.
      	(check_vector_cst, check_vector_cst_duplicate, check_vector_cst_fill)
      	(check_vector_cst_stepped, test_vector_cst_patterns): New functions.
      	(tree_c_tests): Call test_vector_cst_patterns.
      	* lto-streamer-out.c (DFS::DFS_write_tree_body): Handle the new
      	VECTOR_CST fields.
      	(hash_tree): Likewise.
      	* tree-streamer-out.c (write_ts_vector_tree_pointers): Likewise.
      	(streamer_write_tree_header): Likewise.
      	* tree-streamer-in.c (lto_input_ts_vector_tree_pointers): Likewise.
      	(streamer_alloc_tree): Likewise.  Update call to make_vector.
      	* fold-const.c (fold_ternary_loc): Avoid using VECTOR_CST_ELTS.
      
      gcc/lto/
      	* lto.c (compare_tree_sccs_1): Compare the new VECTOR_CST flags.
      
      From-SVN: r255474
      Richard Sandiford committed
    • PR c/81544 - attribute noreturn and warn_unused_result on the same function accepted · 5d9ae53d
      PR c/81544 - attribute noreturn and warn_unused_result on the same function accepted
      PR c/81566 - invalid attribute aligned accepted on functions
      
      gcc/ada/ChangeLog:
      
      	PR c/81544
      	* gcc-interface/utils.c (gnat_internal_attribute_table): Initialize
      	new member of struct attribute_spec.
      
      gcc/c/ChangeLog:
      
      	PR c/81544
      	* c-decl.c (c_decl_attributes): Look up existing declaration and
      	pass it to decl_attributes.
      
      gcc/c-family/ChangeLog:
      
      	PR c/81544
      	PR c/81566
      	* c-attribs.c (attr_aligned_exclusions): New array.
      	(attr_alloc_exclusions, attr_cold_hot_exclusions): Same.
      	(attr_common_exclusions, attr_const_pure_exclusions): Same.
      	(attr_gnu_inline_exclusions, attr_inline_exclusions): Same.
      	(attr_noreturn_exclusions, attr_returns_twice_exclusions): Same.
      	(attr_warn_unused_result_exclusions): Same.
      	(handle_hot_attribute, handle_cold_attribute): Simplify.
      	(handle_const_attribute): Warn on function returning void.
      	(handle_pure_attribute): Same.
      	(handle_aligned_attribute): Diagnose conflicting attribute
      	specifications.
      	* c-warn.c (diagnose_mismatched_attributes): Simplify.
      
      gcc/cp/ChangeLog:
      
      	PR c/81544
      	* cp-tree.h (decls_match): Add default argument.
      	* decl.c (decls_match): Avoid calling into the target back end
      	and triggering an error.
      	* decl2.c (cplus_decl_attributes): Look up existing declaration and
      	pass it to decl_attributes.
      	* tree.c (cxx_attribute_table): Initialize new member of struct
      	attribute_spec.
      
      gcc/fortran/ChangeLog:
      
      	PR c/81544
      	* f95-lang.c (gfc_attribute_table): Initialize new member of struct
      	attribute_spec.
      
      gcc/lto/ChangeLog:
      
      	PR c/81544
      	* lto-lang.c (lto_attribute_table): Initialize new member of struct
      	attribute_spec.
      
      gcc/ChangeLog:
      
      	PR c/81544
      	* attribs.c (empty_attribute_table): Initialize new member of
      	struct attribute_spec.
      	(decl_attributes): Add argument.  Handle mutually exclusive
      	combinations of attributes.
      	(selftests::test_attribute_exclusions): New function.
      	(selftests::attribute_c_tests): Ditto.
      	* attribs.h (decl_attributes): Add default argument.
      	* selftest.h (attribute_c_tests): Declare.
      	* selftest-run-tests.c (selftest::run_tests): Call attribute_c_tests.
      	* tree-core.h (attribute_spec::exclusions, exclude): New type and
      	member.
      	* doc/extend.texi (Common Function Attributes): Update const and pure.
      
      gcc/testsuite/ChangeLog:
      
      	PR c/81544
      	* c-c++-common/Wattributes-2.c: New test.
      	* c-c++-common/Wattributes.c: New test.
      	* c-c++-common/attributes-3.c: Adjust.
      	* gcc.dg/Wattributes-6.c: New test.
      	* gcc.dg/Wattributes-7.c: New test.
      	* gcc.dg/attr-noinline.c
      	* gcc.dg/pr44964.c: Same.
      	* gcc.dg/torture/pr42363.c: Same.
      	* gcc.dg/tree-ssa/ssa-ccp-2.c: Same.
      
      From-SVN: r255469
      Martin Sebor committed
  26. 30 Nov, 2017 1 commit
    • spellcheck-tree.c (test_find_closest_identifier): Use ; instead of ;;. · 5de73c05
      	* spellcheck-tree.c (test_find_closest_identifier): Use ; instead
      	of ;;.
      	* gengtype-state.c (read_state_pair): Likewise.
      	* gimple-fold.c (gimple_fold_builtin_string_compare): Likewise.
      	* sel-sched-dump.c (dump_insn_rtx_1): Likewise.
      	* ipa-cp.c (intersect_aggregates_with_edge): Likewise.
      	* ifcvt.c (noce_try_store_flag_constants): Likewise.
      	* tree-ssa-ccp.c (ccp_finalize): Likewise.
      	* omp-grid.c (grid_process_kernel_body_copy): Likewise.
      	* builtins.c (fold_builtin_3): Likewise.
      	* graphite-scop-detection.c
      	(scop_detection::stmt_has_simple_data_refs_p): Likewise.
      	* hsa-gen.c (hsa_function_representation::hsa_function_representation):
      	Likewise.
      c/
      	* c-parser.c (c_parser_postfix_expression): Use ; instead of ;;.
      jit/
      	* jit-recording.c
      	(recording::memento_of_new_rvalue_from_const <long>::write_reproducer):
      	Use ; instead of ;;.
      lto/
      	* lto.c (create_subid_section_table): Use ; instead of ;;.
      objc/
      	* objc-next-runtime-abi-01.c (generate_dispatch_table): Use ; instead
      	of ;;.
      
      From-SVN: r255284
      Jakub Jelinek committed
  27. 28 Nov, 2017 1 commit
    • Remove Cilk Plus support. · 5e9d6aa4
      	* Makefile.def (target_modules): Remove libcilkrts.
      	* Makefile.in: Ditto.
      	* configure: Ditto.
      	* configure.ac: Ditto.
      
      contrib/
      	* contrib/gcc_update: Ditto.
      
      gcc/
      	* Makefile.in (cilkplus.def, cilk-builtins.def, c-family/cilk.o, 
      	c-family/c-cilkplus.o, c-family/array-notation-common.o,
      	cilk-common.o, cilk.h, cilk-common.c): Remove.
      	* builtin-types.def
      	(BT_FN_INT_PTR_PTR_PTR_FTYPE_BT_INT_BT_PTR_BT_PTR_BT_PTR): Remove.
      	* builtins.c (is_builtin_name): Remove cilkplus condition.
      	(BUILT_IN_CILK_DETACH, BUILT_IN_CILK_POP_FRAME): Remove.
      	* builtins.def (DEF_CILK_BUILTIN_STUB, DEF_CILKPLUS_BUILTIN,
      	cilk-builtins.def, cilkplus.def): Remove.
      	* cif-code.def (CILK_SPAWN): Remove.
      	* cilk-builtins.def: Delete.
      	* cilk-common.c: Ditto.
      	* cilk.h: Ditto.
      	* cilkplus.def: Ditto.
      	* config/darwin.h (fcilkplus): Delete.
      	* cppbuiltin.c: Ditto.
      	* doc/extend.texi: Remove cilkplus doc.
      	* doc/generic.texi: Ditto.
      	* doc/invoke.texi: Ditto.
      	* doc/passes.texi: Ditto.
      	* gcc.c (fcilkplus): Remove.
      	* gengtype.c (cilk.h): Remove.
      	* gimple-pretty-print.c (dump_gimple_omp_for): Remove cilkplus support.
      	* gimple.h (GF_OMP_FOR_KIND_CILKFOR, GF_OMP_FOR_KIND_CILKSIMD): Remove.
      	* gimplify.c (gimplify_return_expr, maybe_fold_stmt,
      	gimplify_call_expr, is_gimple_stmt, gimplify_modify_expr,
      	gimplify_scan_omp_clauses, gimplify_adjust_omp_clauses,
      	gimplify_omp_for, gimplify_expr): Remove cilkplus conditions.
      	* ipa-fnsummary.c (ipa_dump_fn_summary, compute_fn_summary,
      	inline_read_section): Ditto.
      	* ipa-inline-analysis.c (cilk.h): Remove.
      	* ira.c (ira_setup_eliminable_regset): Remove cilkplus support.
      	* lto-wrapper.c (merge_and_complain, append_compiler_options,
      	append_linker_options): Remove condition for fcilkplus.
      	* lto/lto-lang.c (cilk.h): Remove.
      	(lto_init): Remove condition for fcilkplus.
      	* omp-expand.c (expand_cilk_for_call): Delete.
      	(expand_omp_taskreg, expand_omp_for_static_chunk,
      	expand_omp_for): Remove cilkplus
      	conditions.
      	(expand_cilk_for): Delete.
      	* omp-general.c (omp_extract_for_data): Remove cilkplus support.
      	* omp-low.c (scan_sharing_clauses, create_omp_child_function,
      	execute_lower_omp, diagnose_sb_0): Ditto.
      	* omp-simd-clone.c (simd_clone_clauses_extract): Ditto.
      	* tree-core.h (OMP_CLAUSE__CILK_FOR_COUNT_): Delete.
      	* tree-nested.c: Ditto.
      	* tree-pretty-print.c (dump_omp_clause): Remove cilkplus support.
      	(dump_generic_node): Ditto.
      	* tree.c (OMP_CLAUSE__CILK_FOR_COUNT_): Delete.
      	* tree.def (cilk_simd, cilk_for, cilk_spawn_stmt,
      	cilk_sync_stmt): Delete.
      	* tree.h (CILK_SPAWN_FN, EXPR_CILK_SPAWN): Delete.
      
      gcc/c-family/
      	* array-notation-common.c: Delete.
      	* c-cilkplus.c: Ditto.
      	* c-common.c (_Cilk_spawn, _Cilk_sync, _Cilk_for): Remove.
      	* c-common.def (ARRAY_NOTATION_REF): Remove.
      	* c-common.h (RID_CILK_SPAWN, build_array_notation_expr,
      	build_array_notation_ref, C_ORT_CILK, c_check_cilk_loop,
      	c_validate_cilk_plus_loop, cilkplus_an_parts,
      	cilk_ignorable_spawn_rhs_op,
      	cilk_recognize_spawn): Remove.
      	* c-gimplify.c (CILK_SPAWN_STMT): Remove.
      	* c-omp.c: Remove CILK_SIMD check.
      	* c-pragma.c: Ditto.
      	* c-pragma.h: Remove CILK related pragmas.
      	* c-pretty-print.c (c_pretty_printer::postfix_expression): Remove
      	ARRAY_NOTATION_REF condition.
      	(c_pretty_printer::expression): Ditto.
      	* c.opt (fcilkplus): Remove.
      	* cilk.c: Delete.
      
      gcc/c/
      	* Make-lang.in (c/c-array-notation.o): Remove.
      	* c-array-notation.c: Delete.
      	* c-decl.c: Remove cilkplus condition.
      	* c-parser.c (c_parser_cilk_simd, c_parser_cilk_for,
      	c_parser_cilk_verify_simd, c_parser_array_notation,
      	c_parser_cilk_clause_vectorlength, c_parser_cilk_grainsize,
      	c_parser_cilk_simd_fn_vector_attrs,
      	c_finish_cilk_simd_fn_tokens): Delete.
      	(c_parser_declaration_or_fndef): Remove cilkplus condition.
      	(c_parser_direct_declarator_inner): Ditto.
      	(CILK_SIMD_FN_CLAUSE_MASK): Delete.
      	(c_parser_attributes, c_parser_compound_statement,
      	c_parser_statement_after_labels, c_parser_if_statement,
      	c_parser_switch_statement, c_parser_while_statement,
      	c_parser_do_statement, c_parser_for_statement,
      	c_parser_unary_expression, c_parser_postfix_expression,
      	c_parser_postfix_expression_after_primary,
      	c_parser_pragma, c_parser_omp_clause_name, c_parser_omp_all_clauses,
      	c_parser_omp_for_loop,
      	c_finish_omp_declare_simd): Remove cilkplus support.
      	* c-typeck.c (build_array_ref, build_function_call_vec,
      	convert_arguments, lvalue_p, build_compound_expr, c_finish_return,
      	c_finish_if_stmt, c_finish_loop,
      	build_binary_op): Remove cilkplus support.
      	
      gcc/cp/
      	* Make-lang.in (cp/cp-array-notation.o, cp/cp-cilkplus.o): Delete.
      	* call.c (convert_for_arg_passing, build_cxx_call): Remove cilkplus.
      	* constexpr.c (potential_constant_expression_1): Ditto.
      	* cp-array-notation.c: Delete.
      	* cp-cilkplus.c: Ditto.
      	* cp-cilkplus.h: Ditto.
      	* cp-gimplify.c (cp_gimplify_expr, cp_fold_r, cp_genericize): Remove
      	cilkplus condition.
      	* cp-objcp-common.c (ARRAY_NOTATION_REF): Delete.
      	* cp-tree.h (cilkplus_an_triplet_types_ok_p): Delete.
      	* decl.c (grokfndecl, finish_function): Remove cilkplus condition.
      	* error.c (dump_decl, dump_expr): Remove ARRAY_NOTATION_REF condition.
      	* lambda.c (cp-cilkplus.h): Remove.
      	* parser.c (cp_parser_cilk_simd, cp_parser_cilk_for,
      	cp_parser_cilk_simd_vectorlength): Delete.
      	(cp_debug_parser, cp_parser_ctor_initializer_opt_and_function_body,
      	cp_parser_postfix_expression, cp_parser_postfix_open_square_expression,
      	cp_parser_statement, cp_parser_jump_statement,
      	cp_parser_direct_declarator,
      	cp_parser_late_return_type_opt, cp_parser_gnu_attribute_list,
      	cp_parser_omp_clause_name, cp_parser_omp_clause_aligned,
      	cp_parser_omp_clause_linear, cp_parser_omp_all_clauses,
      	cp_parser_omp_flush, cp_parser_omp_for_cond, cp_parser_omp_for_incr,
      	cp_parser_omp_for_loop_init, cp_parser_omp_for_loop,
      	cp_parser_omp_declare_simd): Remove cilkplus support.
      	(CILK_SIMD_FN_CLAUSE_MASK, cp_parser_late_parsing_cilk_simd_fn_info,
      	cp_parser_cilk_grainsize): Remove.
      	(cp_parser_pragma, c_parse_file): Remove cilkplus support.
      	(cp_parser_cilk_simd_vectorlength, cp_parser_cilk_simd_linear,
      	cp_parser_cilk_simd_clause_name, cp_parser_cilk_simd_all_clauses,
      	cp_parser_cilk_simd, cp_parser_cilk_for): Remove.
      	* parser.h (IN_CILK_SIMD_FOR, IN_CILK_SPAWN): Remove.
      	* pt.c (tsubst_attribute, tsubst_expr, tsubst_copy_and_build): Remove
      	cilkplus support.
      	* semantics.c (finish_goto_stmt, begin_while_stmt, finish_do_body,
      	finish_init_stmt, finish_switch_cond, simplify_aggr_init_expr,
      	finish_omp_clauses, finish_omp_clauses,
      	finish_omp_for): Remove cilkplus support.
      	* tree.c (lvalue_kind): Remove ARRAY_NOTATION_REF conditon.
      	* typeck.c (cp_build_array_ref, cp_build_compound_expr,
      	check_return_expr): Remove cilkplus support.
      
      gcc/testsuite/
      	* c-c++-common/attr-simd-3.c: Delete.
      	* c-c++-common/cilk-plus/AN/an-if.c: Delete.
      	* c-c++-common/cilk-plus/AN/array_test1.c: Delete.
      	* c-c++-common/cilk-plus/AN/array_test2.c: Delete.
      	* c-c++-common/cilk-plus/AN/array_test_ND.c: Delete.
      	* c-c++-common/cilk-plus/AN/builtin_fn_custom.c: Delete.
      	* c-c++-common/cilk-plus/AN/builtin_fn_mutating.c: Delete.
      	* c-c++-common/cilk-plus/AN/builtin_func_double.c: Delete.
      	* c-c++-common/cilk-plus/AN/builtin_func_double2.c: Delete.
      	* c-c++-common/cilk-plus/AN/comma_exp.c: Delete.
      	* c-c++-common/cilk-plus/AN/conditional.c: Delete.
      	* c-c++-common/cilk-plus/AN/decl-ptr-colon.c: Delete.
      	* c-c++-common/cilk-plus/AN/dimensionless-arrays.c: Delete.
      	* c-c++-common/cilk-plus/AN/exec-once.c: Delete.
      	* c-c++-common/cilk-plus/AN/exec-once2.c: Delete.
      	* c-c++-common/cilk-plus/AN/fn_ptr-2.c: Delete.
      	* c-c++-common/cilk-plus/AN/fn_ptr.c: Delete.
      	* c-c++-common/cilk-plus/AN/fp_triplet_values.c: Delete.
      	* c-c++-common/cilk-plus/AN/gather-scatter-errors.c: Delete.
      	* c-c++-common/cilk-plus/AN/gather_scatter.c: Delete.
      	* c-c++-common/cilk-plus/AN/if_test.c: Delete.
      	* c-c++-common/cilk-plus/AN/if_test_errors.c: Delete.
      	* c-c++-common/cilk-plus/AN/misc.c: Delete.
      	* c-c++-common/cilk-plus/AN/n-ptr-test.c: Delete.
      	* c-c++-common/cilk-plus/AN/parser_errors.c: Delete.
      	* c-c++-common/cilk-plus/AN/parser_errors2.c: Delete.
      	* c-c++-common/cilk-plus/AN/parser_errors3.c: Delete.
      	* c-c++-common/cilk-plus/AN/parser_errors4.c: Delete.
      	* c-c++-common/cilk-plus/AN/pr57457-2.c: Delete.
      	* c-c++-common/cilk-plus/AN/pr57457.c: Delete.
      	* c-c++-common/cilk-plus/AN/pr57490.c: Delete.
      	* c-c++-common/cilk-plus/AN/pr57541-2.c: Delete.
      	* c-c++-common/cilk-plus/AN/pr57541.c: Delete.
      	* c-c++-common/cilk-plus/AN/pr57577.c: Delete.
      	* c-c++-common/cilk-plus/AN/pr58942.c: Delete.
      	* c-c++-common/cilk-plus/AN/pr61191.c: Delete.
      	* c-c++-common/cilk-plus/AN/pr61455-2.c: Delete.
      	* c-c++-common/cilk-plus/AN/pr61455.c: Delete.
      	* c-c++-common/cilk-plus/AN/pr61962.c: Delete.
      	* c-c++-common/cilk-plus/AN/pr61963.c: Delete.
      	* c-c++-common/cilk-plus/AN/pr62008.c: Delete.
      	* c-c++-common/cilk-plus/AN/pr63884.c: Delete.
      	* c-c++-common/cilk-plus/AN/rank_mismatch.c: Delete.
      	* c-c++-common/cilk-plus/AN/rank_mismatch2.c: Delete.
      	* c-c++-common/cilk-plus/AN/rank_mismatch3.c: Delete.
      	* c-c++-common/cilk-plus/AN/sec_implicit.c: Delete.
      	* c-c++-common/cilk-plus/AN/sec_implicit2.c: Delete.
      	* c-c++-common/cilk-plus/AN/sec_implicit_ex.c: Delete.
      	* c-c++-common/cilk-plus/AN/sec_reduce_ind_same_value.c: Delete.
      	* c-c++-common/cilk-plus/AN/sec_reduce_max_min_ind.c: Delete.
      	* c-c++-common/cilk-plus/AN/sec_reduce_return.c: Delete.
      	* c-c++-common/cilk-plus/AN/side-effects-1.c: Delete.
      	* c-c++-common/cilk-plus/AN/test_builtin_return.c: Delete.
      	* c-c++-common/cilk-plus/AN/test_sec_limits.c: Delete.
      	* c-c++-common/cilk-plus/AN/tst_lngth.c: Delete.
      	* c-c++-common/cilk-plus/AN/vla.c: Delete.
      	* c-c++-common/cilk-plus/CK/Wparentheses-1.c: Delete.
      	* c-c++-common/cilk-plus/CK/cilk-for-2.c: Delete.
      	* c-c++-common/cilk-plus/CK/cilk-for-3.c: Delete.
      	* c-c++-common/cilk-plus/CK/cilk-fors.c: Delete.
      	* c-c++-common/cilk-plus/CK/cilk_for_errors.c: Delete.
      	* c-c++-common/cilk-plus/CK/cilk_for_grain.c: Delete.
      	* c-c++-common/cilk-plus/CK/cilk_for_grain_errors.c: Delete.
      	* c-c++-common/cilk-plus/CK/cilk_for_ptr_iter.c: Delete.
      	* c-c++-common/cilk-plus/CK/compound_cilk_spawn.c: Delete.
      	* c-c++-common/cilk-plus/CK/concec_cilk_spawn.c: Delete.
      	* c-c++-common/cilk-plus/CK/errors.c: Delete.
      	* c-c++-common/cilk-plus/CK/fib.c: Delete.
      	* c-c++-common/cilk-plus/CK/fib_init_expr_xy.c: Delete.
      	* c-c++-common/cilk-plus/CK/fib_no_return.c: Delete.
      	* c-c++-common/cilk-plus/CK/fib_no_sync.c: Delete.
      	* c-c++-common/cilk-plus/CK/invalid_spawns.c: Delete.
      	* c-c++-common/cilk-plus/CK/invalid_sync.c: Delete.c
      	* c-c++-common/cilk-plus/CK/nested_cilk_for.c: Delete.
      	* c-c++-common/cilk-plus/CK/no_args_error.c: Delete.
      	* c-c++-common/cilk-plus/CK/pr59631.c: Delete.
      	* c-c++-common/cilk-plus/CK/pr60197-2.c: Delete.
      	* c-c++-common/cilk-plus/CK/pr60197.c: Delete.
      	* c-c++-common/cilk-plus/CK/pr60469.c: Delete.
      	* c-c++-common/cilk-plus/CK/pr60586.c: Delete.
      	* c-c++-common/cilk-plus/CK/pr63307.c: Delete.
      	* c-c++-common/cilk-plus/CK/pr69826-1.c: Delete.
      	* c-c++-common/cilk-plus/CK/pr69826-2.c: Delete.
      	* c-c++-common/cilk-plus/CK/pr79428-4.c: Delete.
      	* c-c++-common/cilk-plus/CK/pr79428-7.c: Delete.
      	* c-c++-common/cilk-plus/CK/spawn_in_return.c: Delete.
      	* c-c++-common/cilk-plus/CK/spawnee_inline.c: Delete.
      	* c-c++-common/cilk-plus/CK/spawner_inline.c: Delete.
      	* c-c++-common/cilk-plus/CK/spawning_arg.c: Delete.
      	* c-c++-common/cilk-plus/CK/steal_check.c: Delete.
      	* c-c++-common/cilk-plus/CK/sync_wo_spawn.c: Delete.
      	* c-c++-common/cilk-plus/CK/test__cilk.c: Delete.
      	* c-c++-common/cilk-plus/CK/varargs_test.c: Delete.
      	* c-c++-common/cilk-plus/PS/Wparentheses-1.c: Delete.
      	* c-c++-common/cilk-plus/PS/body.c: Delete.
      	* c-c++-common/cilk-plus/PS/clauses1.c: Delete.
      	* c-c++-common/cilk-plus/PS/clauses2.c: Delete.
      	* c-c++-common/cilk-plus/PS/clauses3.c: Delete.
      	* c-c++-common/cilk-plus/PS/clauses4.c: Delete.
      	* c-c++-common/cilk-plus/PS/for1.c: Delete.
      	* c-c++-common/cilk-plus/PS/for2.c: Delete.
      	* c-c++-common/cilk-plus/PS/for3.c: Delete.
      	* c-c++-common/cilk-plus/PS/pr69363.c: Delete.
      	* c-c++-common/cilk-plus/PS/reduction-1.c: Delete.
      	* c-c++-common/cilk-plus/PS/reduction-2.c: Delete.
      	* c-c++-common/cilk-plus/PS/reduction-3.c: Delete.
      	* c-c++-common/cilk-plus/PS/run-1.c: Delete.
      	* c-c++-common/cilk-plus/PS/safelen.c: Delete.
      	* c-c++-common/cilk-plus/PS/vectorlength-2.c: Delete.
      	* c-c++-common/cilk-plus/PS/vectorlength-3.c: Delete.
      	* c-c++-common/cilk-plus/PS/vectorlength.c: Delete.
      	* c-c++-common/cilk-plus/SE/ef_error.c: Delete.
      	* c-c++-common/cilk-plus/SE/ef_error2.c: Delete.
      	* c-c++-common/cilk-plus/SE/ef_error3.c: Delete.
      	* c-c++-common/cilk-plus/SE/ef_test.c: Delete.
      	* c-c++-common/cilk-plus/SE/ef_test2.c: Delete.
      	* c-c++-common/cilk-plus/SE/vlength_errors.c: Delete.
      	* g++.dg/cilk-plus/AN/array_function.c: Delete.
      	* g++.dg/cilk-plus/AN/array_test1_tplt.c: Delete.
      	* g++.dg/cilk-plus/AN/array_test2_tplt.c: Delete.
      	* g++.dg/cilk-plus/AN/array_test_ND_tplt.c: Delete.
      	* g++.dg/cilk-plus/AN/braced_list.c: Delete.
      	* g++.dg/cilk-plus/AN/builtin_fn_custom_tplt.c: Delete.
      	* g++.dg/cilk-plus/AN/builtin_fn_mutating_tplt.c: Delete.
      	* g++.dg/cilk-plus/AN/fp_triplet_values_tplt.c: Delete.
      	* g++.dg/cilk-plus/AN/postincr_test.c: Delete.
      	* g++.dg/cilk-plus/AN/preincr_test.c: Delete.
      	* g++.dg/cilk-plus/CK/catch_exc.c: Delete.
      	* g++.dg/cilk-plus/CK/cf3.c: Delete.
      	* g++.dg/cilk-plus/CK/cilk-for-tplt.c: Delete.
      	* g++.dg/cilk-plus/CK/const_spawn.c: Delete.
      	* g++.dg/cilk-plus/CK/fib-opr-overload.c: Delete.
      	* g++.dg/cilk-plus/CK/fib-tplt.c: Delete.
      	* g++.dg/cilk-plus/CK/for1.c: Delete.
      	* g++.dg/cilk-plus/CK/lambda_spawns.c: Delete.
      	* g++.dg/cilk-plus/CK/lambda_spawns_tplt.c: Delete.
      	* g++.dg/cilk-plus/CK/pr60586.c: Delete.
      	* g++.dg/cilk-plus/CK/pr66326.c: Delete.
      	* g++.dg/cilk-plus/CK/pr68001.c: Delete.
      	* g++.dg/cilk-plus/CK/pr68997.c: Delete.
      	* g++.dg/cilk-plus/CK/pr69024.c: Delete.
      	* g++.dg/cilk-plus/CK/pr69048.c: Delete.
      	* g++.dg/cilk-plus/CK/pr69267.c: Delete.
      	* g++.dg/cilk-plus/CK/pr80038.c: Delete.
      	* g++.dg/cilk-plus/CK/stl_iter.c: Delete.
      	* g++.dg/cilk-plus/CK/stl_rev_iter.c: Delete.
      	* g++.dg/cilk-plus/CK/stl_test.c: Delete.
      	* g++.dg/cilk-plus/cilk-plus.exp
      	* g++.dg/cilk-plus/ef_test.C: Delete.
      	* g++.dg/cilk-plus/for.C: Delete.
      	* g++.dg/cilk-plus/for2.C: Delete.
      	* g++.dg/cilk-plus/for3.C: Delete.
      	* g++.dg/cilk-plus/for4.C: Delete.
      	* g++.dg/cilk-plus/pr60967.C: Delete.
      	* g++.dg/cilk-plus/pr69028.C: Delete.
      	* g++.dg/cilk-plus/pr70565.C: Delete.
      	* g++.dg/pr57662.C: Delete.
      	* gcc.dg/cilk-plus/cilk-plus.exp
      	* gcc.dg/cilk-plus/for1.c: Delete.
      	* gcc.dg/cilk-plus/for2.c: Delete.
      	* gcc.dg/cilk-plus/jump-openmp.c: Delete.
      	* gcc.dg/cilk-plus/jump.c: Delete.
      	* gcc.dg/cilk-plus/pr69798-1.c: Delete.
      	* gcc.dg/cilk-plus/pr69798-2.c: Delete.
      	* gcc.dg/cilk-plus/pr78306.c: Delete.
      	* gcc.dg/cilk-plus/pr79116.c: Delete.
      	* gcc.dg/graphite/id-28.c: Delete.
      	* lib/cilk-plus-dg.exp: Delete.
      	* lib/target-supports.exp (cilkplus_runtime): Delete.
      
      Co-Authored-By: Sebastian Peryt <sebastian.peryt@intel.com>
      
      From-SVN: r255195
      Julia Koval committed
  28. 22 Nov, 2017 1 commit
    • re PR c++/60336 (empty struct value is passed differently in C and C++) · 974aedcc
      	PR c++/60336
      	PR middle-end/67239
      	PR target/68355
      	* c-decl.c (grokdeclarator): Set DECL_PADDING_P on unnamed bit-fields.
      
      	* class.c (layout_class_type): Set DECL_PADDING_P on padding.
      	* decl.c (cxx_init_decl_processing): Set TRANSLATION_UNIT_WARN_EMPTY_P.
      	(grokdeclarator): Set DECL_PADDING_P on unnamed bit-fields.
      
      	* lto.c (compare_tree_sccs_1): Compare TYPE_EMPTY_P and DECL_PADDING_P.
      
      	* calls.c (initialize_argument_information): Call
      	warn_parameter_passing_abi target hook.
      	(store_one_arg): Use 0 for empty record size.  Don't push 0 size
      	argument onto stack.
      	(must_pass_in_stack_var_size_or_pad): Return false for empty types.
      	* common.opt: Update -fabi-version description.
      	* config/i386/i386.c (init_cumulative_args): Set cum->warn_empty.
      	(ix86_gimplify_va_arg): Call arg_int_size_in_bytes instead of
      	int_size_in_bytes.
      	(ix86_is_empty_record): New function.
      	(ix86_warn_parameter_passing_abi): New function.
      	(TARGET_EMPTY_RECORD_P): Redefine.
      	(TARGET_WARN_PARAMETER_PASSING_ABI): Redefine.
      	* config/i386/i386.h (CUMULATIVE_ARGS): Add warn_empty.
      	* doc/tm.texi: Regenerated.
      	* doc/tm.texi.in (TARGET_EMPTY_RECORD_P,
      	TARGET_WARN_PARAMETER_PASSING_ABI): Add.
      	* dwarf2out.c (get_ultimate_context): Move to tree.c.
      	* explow.c (hard_function_value): Call arg_int_size_in_bytes
      	instead of int_size_in_bytes.
      	* expr.c (copy_blkmode_to_reg): Likewise.
      	* function.c (aggregate_value_p): Return 0 for empty types.
      	(assign_parm_find_entry_rtl): Call warn_parameter_passing_abi target hook.
      	(locate_and_pad_parm): Call arg size_in_bytes instead
      	size_in_bytes.
      	* lto-streamer-out.c (hash_tree): Hash TYPE_EMPTY_P and DECL_PADDING_P.
      	* stor-layout.c (finalize_type_size): Set TYPE_EMPTY_P.
      	* target.def (empty_record_p, warn_parameter_passing_abi): New target
      	hooks.
      	* targhooks.c (hook_void_CUMULATIVE_ARGS_tree): New hook.
      	(std_gimplify_va_arg_expr): Skip empty records.  Call
      	arg_size_in_bytes instead size_in_bytes.
      	* targhooks.h (hook_void_CUMULATIVE_ARGS_tree): Declare.
      	* tree-core.h (tree_type_common): Add empty_flag.
      	(tree_decl_common): Update comments.
      	* tree-streamer-in.c (unpack_ts_decl_common_value_fields): Stream
      	DECL_PADDING_P.
      	(unpack_ts_type_common_value_fields): Stream TYPE_EMPTY_P.
      	* tree-streamer-out.c (pack_ts_decl_common_value_fields): Stream
      	DECL_PADDING_P.
      	(pack_ts_type_common_value_fields): Stream TYPE_EMPTY_P.
      	* tree.c (default_is_empty_type): New function.
      	(default_is_empty_record): New function.
      	(arg_int_size_in_bytes): New function.
      	(arg_size_in_bytes): New function.
      	(get_ultimate_context): New function.
      	* tree.h: Define TYPE_EMPTY_P, DECL_PADDING_P and
      	TRANSLATION_UNIT_WARN_EMPTY_P.
      	(default_is_empty_record, arg_int_size_in_bytes,
      	arg_size_in_bytes, get_ultimate_context): Declare.
      
      	* g++.dg/abi/empty12.C: New test.
      	* g++.dg/abi/empty12.h: New test.
      	* g++.dg/abi/empty12a.c: New test.
      	* g++.dg/abi/empty13.C: New test.
      	* g++.dg/abi/empty13.h: New test.
      	* g++.dg/abi/empty13a.c: New test.
      	* g++.dg/abi/empty14.C: New test.
      	* g++.dg/abi/empty14.h: New test.
      	* g++.dg/abi/empty14a.c: New test.
      	* g++.dg/abi/empty15.C: New test.
      	* g++.dg/abi/empty15.h: New test.
      	* g++.dg/abi/empty15a.c: New test.
      	* g++.dg/abi/empty16.C: New test.
      	* g++.dg/abi/empty16.h: New test.
      	* g++.dg/abi/empty16a.c: New test.
      	* g++.dg/abi/empty17.C: New test.
      	* g++.dg/abi/empty17.h: New test.
      	* g++.dg/abi/empty17a.c: New test.
      	* g++.dg/abi/empty18.C: New test.
      	* g++.dg/abi/empty18.h: New test.
      	* g++.dg/abi/empty18a.c: New test.
      	* g++.dg/abi/empty19.C: New test.
      	* g++.dg/abi/empty19.h: New test.
      	* g++.dg/abi/empty19a.c: New test.
      	* g++.dg/abi/empty20.C: New test.
      	* g++.dg/abi/empty21.C: New test.
      	* g++.dg/abi/empty22.C: New test.
      	* g++.dg/abi/empty22.h: New test.
      	* g++.dg/abi/empty22a.c: New test.
      	* g++.dg/abi/empty23.C: New test.
      	* g++.dg/abi/empty24.C: New test.
      	* g++.dg/abi/empty25.C: New test.
      	* g++.dg/abi/empty25.h: New test.
      	* g++.dg/abi/empty25a.c: New test.
      	* g++.dg/abi/empty26.C: New test.
      	* g++.dg/abi/empty26.h: New test.
      	* g++.dg/abi/empty26a.c: New test.
      	* g++.dg/abi/empty27.C: New test.
      	* g++.dg/abi/empty28.C: New test.
      	* g++.dg/abi/pr60336-1.C: New test.
      	* g++.dg/abi/pr60336-10.C: New test.
      	* g++.dg/abi/pr60336-11.C: New test.
      	* g++.dg/abi/pr60336-12.C: New test.
      	* g++.dg/abi/pr60336-2.C: New test.
      	* g++.dg/abi/pr60336-3.C: New test.
      	* g++.dg/abi/pr60336-4.C: New test.
      	* g++.dg/abi/pr60336-5.C: New test.
      	* g++.dg/abi/pr60336-6.C: New test.
      	* g++.dg/abi/pr60336-7.C: New test.
      	* g++.dg/abi/pr60336-8.C: New test.
      	* g++.dg/abi/pr60336-9.C: New test.
      	* g++.dg/abi/pr68355.C: New test.
      	* g++.dg/lto/pr60336_0.C: New test.
      
      Co-Authored-By: H.J. Lu <hongjiu.lu@intel.com>
      Co-Authored-By: Jason Merrill <jason@redhat.com>
      
      From-SVN: r255066
      Marek Polacek committed