1. 14 Nov, 2019 2 commits
    • Update statistics about needed symbols in IPA ICF. · 5d97670f
      2019-11-14  Martin Liska  <mliska@suse.cz>
      
      	* ipa-icf.c (sem_item_optimizer::execute): Save
      	loaded_symbols.
      	(sem_item_optimizer::parse_nonsingleton_classes):
      	Return number of loaded symbols.
      	(sem_item_optimizer::merge_classes): Print
      	statistics about totally needed symbols.
      	* ipa-icf.h (parse_nonsingleton_classes): Change return
      	type.
      	(merge_classes): Add one argument.
      
      From-SVN: r278209
      Martin Liska committed
    • Use func_checker::hash_operand for hashing of GIMPLE operands. · a37f58f5
      2019-11-14  Martin Liska  <mliska@suse.cz>
      
      	* ipa-icf-gimple.h (func_checker::func_checker): Add
      	default constructor.
      	* ipa-icf.c (sem_function::init): Make operand_equal_p
      	and hash_operand public.
      	(sem_item::add_expr): Remove.
      	(sem_item::add_type): Remove.
      	(sem_function::hash_stmt): Use m_checker for hashing
      	of GIMPLE statements.
      	(sem_function::parse): Init with checker.
      	(sem_variable::parse): Pass NULL as checker.
      	(sem_item_optimizer::parse_funcs_and_vars):
      	Pass checker to ::parse function.
      	(sem_item_optimizer::parse_nonsingleton_classes): Likewise.
      	(sem_variable::parse): New function.
      	(sem_variable::get_hash): Only return computed hash value.
      	(sem_variable::init): Initialize hash of a variable.
      	* ipa-icf.h: Remove add_expr, add_type and add func_checker
      	to couple of functions as a new argument.
      
      From-SVN: r278207
      Martin Liska committed
  2. 13 Nov, 2019 1 commit
  3. 10 Nov, 2019 1 commit
    • cgraph.h (struct cgraph_node): Add ipcp_clone flag. · 6cf67b62
      	* cgraph.h (struct cgraph_node): Add ipcp_clone flag.
      	(cgraph_node::create_virtual_clone): Copy it.
      	* ipa-cp.c (ipcp_versionable_function_p): Watch for missing
      	summaries.
      	(ignore_edge_p): If caller has ipa-cp disabled, skip the edge, too.
      	(ipcp_verify_propagated_values): Do not verify nodes where ipcp
      	is disabled.
      	(propagate_constants_across_call): If callee is not analyzed, give up.
      	(propagate_constants_topo): Lower to bottom latties of all callees of
      	functions with ipa-cp disabled.
      	(ipcp_propagate_stage): Skip functions with ipa-cp disabled.
      	(cgraph_edge_brings_value_p): Check for availability first.
      	(create_specialized_node): Set ipcp_clone.
      	(ipcp_store_bits_results): Check that info is present.
      	* ipa-fnsummary.c (evaluate_properties_for_edge): Do not analyze
      	thunks.
      	(ipa_call_context::duplicate_from, ipa_call_context::equal_to): Be
      	conservative when callee summary is missing.
      	(remap_edge_summaries): Lookup call summary only when needed.
      	* ipa-icf.c (sem_function::param_used_p): Be ready for missing summary.
      	* ipa-prpo.c (ipa_alloc_node_params, ipa_initialize_node_params):
      	Use get_create.
      	(ipa_analyze_node): Use get_create.
      	(propagate_controlled_uses): Do not propagate when function is not
      	analyzed.
      	(ipa_propagate_indirect_call_infos): Remove summary of inline clone.
      	(ipa_read_node_info): Use get_create.
      	* ipa-prop.h (IPA_NODE_REF): Use get.
      	(IPA_NODE_REF_GET_CREATE): New.
      
      From-SVN: r278016
      Jan Hubicka committed
  4. 30 Oct, 2019 5 commits
    • Remove comparison for polymorphic types. · 430d1e8d
      2019-10-30  Martin Liska  <mliska@suse.cz>
      
      	* ipa-icf-gimple.c (func_checker::func_checker): Do not
      	initialize m_compare_polymorphic.
      	(func_checker::compare_decl): Do not compare polymorphic types.
      	* ipa-icf-gimple.h (m_compare_polymorphic): Remove.
      	* ipa-icf.c (sem_function::equals_private): Do not call
      	compare_polymorphic_p.
      
      From-SVN: r277617
      Martin Liska committed
    • IPA ICF: remove dead code · 938bba61
      2019-10-30  Martin Liska  <mliska@suse.cz>
      
      	* ipa-icf-gimple.c (func_checker::compare_ssa_name): Call
      	compare_operand.
      	(func_checker::compare_memory_operand): Remove.
      	(func_checker::compare_cst_or_decl): Remove.
      	(func_checker::operand_equal_valueize): Do not handle
      	FIELD_DECL.
      	(func_checker::compare_gimple_call): Call compare_operand.
      	(func_checker::compare_gimple_assign): Likewise.
      	* ipa-icf-gimple.h: Remove compare_cst_or_decl.
      	* ipa-icf.c (sem_function::icf_handled_component_p): Remove.
      	* ipa-icf.h (icf_handled_component_p): Remove.
      
      From-SVN: r277616
      Martin Liska committed
    • Integrate that for IPA ICF. · 8a319aa3
      2019-10-30  Martin Liska  <mliska@suse.cz>
      
      	* ipa-icf-gimple.c (func_checker::hash_operand): New.
      	(func_checker::compare_cst_or_decl): Remove handling
      	of FIELD_DECL.
      	(func_checker::compare_operand): Transform to ...
      	(func_checker::operand_equal_p): ... this.
      	* ipa-icf-gimple.h (class func_checker): Add
      	operand_equal_p and hash_operand.
      	* ipa-icf.c (sem_function::equals_private): Fix
      	pushing and popping of cfun.
      
      From-SVN: r277615
      Martin Liska committed
    • Use symtab_node::order in LTO sections with body. · 3c56d8d8
      2019-10-30  Martin Liska  <mliska@suse.cz>
      
      	PR lto/91393
      	PR lto/88220
      	* cgraph.c (cgraph_node::get_create): Overwrite node->order
      	from a first_clone in order to get proper LTO section
      	in LTO stream.
      	(cgraph_node::get_untransformed_body):
      	Use lto_get_section_data where symtab_node::order
      	must be provided.
      	* cgraphclones.c (cgraph_node::find_replacement):
      	Update also symbol order.
      	* ipa-fnsummary.c (ipa_fn_summary_read):
      	Use new function lto_get_summary_section_data.
      	* ipa-hsa.c (ipa_hsa_read_summary): Likewise.
      	* ipa-icf.c (sem_item_optimizer::read_summary):
      	Likewise.
      	* ipa-prop.c (ipa_prop_read_jump_functions):
      	Likewise.
      	(ipcp_read_transformation_summaries): Likewise.
      	* ipa-sra.c (ipa_sra_read_summary): Likewise.
      	* lto-cgraph.c (input_node): Add also order_base.
      	(input_varpool_node): Likewise.
      	(input_cgraph_1): Assign the order_base.
      	(input_cgraph_opt_summary): Use new lto_get_summary_section_data.
      	* lto-opts.c (lto_write_options): Pass new argument.
      	* lto-section-in.c (lto_get_section_data): Add new argumente order.
      	(lto_get_summary_section_data): New.
      	(lto_get_raw_section_data): Add order argument.
      	(lto_create_simple_input_block): Likewise.
      	* lto-section-out.c (lto_destroy_simple_output_block):
      	Likewise.
      	* lto-streamer-in.c (lto_input_toplevel_asms):
      	Use lto_get_summary_section_data.
      	(lto_input_mode_table): Likewise.
      	* lto-streamer-out.c (produce_asm): Pass symtab_node::order.
      	(lto_output_toplevel_asms): Pass new argument.
      	(copy_function_or_variable): Likewise.
      	(produce_lto_section):Likewise.
      	(produce_symtab): Likewise.
      	(lto_write_mode_table): Likewise.
      	(produce_asm_for_decls): Likewise.
      	* lto-streamer.c (lto_get_section_name): Concat symbol name
      	and symbol order.
      	* lto-streamer.h (lto_get_section_data): Add order argument.
      	(lto_get_summary_section_data): New.
      	(lto_get_raw_section_data): Add order argument.
      	(lto_get_section_name): Likewise.
      	* varpool.c (varpool_node::get_constructor): Pass order argument.
      2019-10-30  Martin Liska  <mliska@suse.cz>
      
      	PR lto/91393
      	PR lto/88220
      	* lto-common.c (lto_file_finalize): Use lto_get_summary_section_data.
      	(get_section_data): Add order argument.
      2019-10-30  Martin Liska  <mliska@suse.cz>
      
      	PR lto/91393
      	PR lto/88220
      	* gcc.dg/lto/pr91393_0.c: New test.
      
      From-SVN: r277607
      Martin Liska committed
    • Remove cgraph_local_info structure. · 87f94429
      2019-10-30  Martin Liska  <mliska@suse.cz>
      
      	* cgraph.c (cgraph_node::local_info): Transform to ...
      	(cgraph_node::local_info_node): ... this.
      	(cgraph_node::dump): Remove cgraph_local_info and
      	put its fields directly into cgraph_node.
      	(cgraph_node::get_availability): Likewise.
      	(cgraph_node::make_local): Likewise.
      	(cgraph_node::verify_node): Likewise.
      	* cgraph.h (struct GTY): Likewise.
      	* cgraphclones.c (set_new_clone_decl_and_node_flags): Likewise.
      	(duplicate_thunk_for_node): Likewise.
      	(cgraph_node::create_clone): Likewise.
      	(cgraph_node::create_virtual_clone): Likewise.
      	(cgraph_node::create_version_clone): Likewise.
      	* cgraphunit.c (cgraph_node::reset): Likewise.
      	(cgraph_node::finalize_function): Likewise.
      	(cgraph_node::add_new_function): Likewise.
      	(analyze_functions): Likewise.
      	* combine.c (setup_incoming_promotions): Likewise.
      	* config/i386/i386.c (ix86_function_regparm): Likewise.
      	(ix86_function_sseregparm): Likewise.
      	(init_cumulative_args): Likewise.
      	* ipa-cp.c (determine_versionability): Likewise.
      	(count_callers): Likewise.
      	(set_single_call_flag): Likewise.
      	(initialize_node_lattices): Likewise.
      	(estimate_local_effects): Likewise.
      	(create_specialized_node): Likewise.
      	(identify_dead_nodes): Likewise.
      	* ipa-fnsummary.c (compute_fn_summary): Likewise.
      	(ipa_fn_summary_generate): Likewise.
      	* ipa-hsa.c (check_warn_node_versionable): Likewise.
      	(process_hsa_functions): Likewise.
      	* ipa-icf.c (set_local): Likewise.
      	* ipa-inline-analysis.c (initialize_inline_failed): Likewise.
      	* ipa-inline.c (speculation_useful_p): Likewise.
      	* ipa-profile.c (ipa_propagate_frequency): Likewise.
      	(ipa_profile): Likewise.
      	* ipa-split.c (split_function): Likewise.
      	(execute_split_functions): Likewise.
      	* ipa-sra.c (ipa_sra_preliminary_function_checks): Likewise.
      	(ipa_sra_ipa_function_checks): Likewise.
      	* ipa-visibility.c (function_and_variable_visibility): Likewise.
      	* ipa.c (symbol_table::remove_unreachable_nodes): Likewise.
      	* lto-cgraph.c (lto_output_node): Likewise.
      	(input_overwrite_node): Likewise.
      	* multiple_target.c (expand_target_clones): Likewise.
      	* omp-simd-clone.c (simd_clone_create): Likewise.
      	* trans-mem.c (expand_call_tm): Likewise.
      	(ipa_tm_mayenterirr_function): Likewise.
      	(ipa_tm_diagnose_tm_safe): Likewise.
      	(ipa_tm_diagnose_transaction): Likewise.
      	(ipa_tm_create_version): Likewise.
      	(ipa_tm_transform_calls_redirect): Likewise.
      	(ipa_tm_execute): Likewise.
      	* tree-inline.c (expand_call_inline): Likewise.
      
      From-SVN: r277601
      Martin Liska committed
  5. 27 Oct, 2019 1 commit
  6. 24 Oct, 2019 1 commit
    • cgraphunit.c (symbol_table::process_new_functions): Call ipa_free_size_summary. · f658ad30
      	* cgraphunit.c (symbol_table::process_new_functions): Call
      	ipa_free_size_summary.
      	* ipa-cp.c (ipcp_cloning_candidate_p): Update.
      	(devirtualization_time_bonus): Update.
      	(ipcp_propagate_stage): Update.
      	* ipa-fnsummary.c (ipa_size_summaries): New.
      	(ipa_fn_summary_alloc): Alloc size summary.
      	(dump_ipa_call_summary): Update.
      	(ipa_dump_fn_summary): Update.
      	(analyze_function_body): Update.
      	(compute_fn_summary): Likewise.
      	(ipa_get_stack_frame_offset): New function.
      	(inline_update_callee_summaries): Do not update frame offsets.
      	(ipa_merge_fn_summary_after_inlining): Update frame offsets here;
      	remove call and function summary.
      	(ipa_update_overall_fn_summary): Update.
      	(inline_read_section): Update.
      	(ipa_fn_summary_write): Update.
      	(ipa_free_fn_summary): Do not remove summaries.
      	(ipa_free_size_summary): New.
      	(release summary pass): Also run at WPA.
      	* ipa-fnsummary.h (ipa_size_summary): Declare.
      	(ipa_fn_summary): Remove size, self_size, stack_frame_offset,
      	estimated_self_stack_size.
      	(ipa_size_summary_t): New type.
      	(ipa_size_summaries): Declare.
      	(ipa_free_size_summary): Declare.
      	(ipa_get_stack_frame_offset): Declare.
      	* ipa-icf.c (sem_function::merge): Update.
      	* ipa-inline-analysis.c (estimate_size_after_inlining): Update.
      	(estimate_growth): Update.
      	(growth_likely_positive): Update.
      	(clone_inlined_nodes): Update.
      	(inline_call): Update.
      	* ipa-inline.c (caller_growth_limits): Update.
      	(edge_badness): Update.
      	(recursive_inlining): Update.
      	(inline_small_functions): Update.
      	(inline_to_all_callers_1): Update.
      	* ipa-prop.h (ipa_edge_args_sum_t): Update comment.
      	* lto-partition.c (add_symbol_to_partition_1): Update.
      	(undo_parittion): Update.
      
      From-SVN: r277424
      Jan Hubicka committed
  7. 07 Oct, 2019 1 commit
    • Make gsi_next_nonvirtual_phi do what one expects · 880dcdae
      gcc/
      
              * gimple-iterator.h (gsi_next_nonvirtual_phi): Change the semantics to
              match that of other gsi_next_* functions.  Adjust the comment.
              (gsi_start_nonvirtual_phis): New function.
              * ipa-icf.c (sem_function::compare_phi_node): Update uses of
              gsi_next_nonvirtual_phi accordingly.  (No functional change.)
      
      From-SVN: r276658
      Vladislav Ivanishin committed
  8. 19 Sep, 2019 2 commits
  9. 09 Aug, 2019 1 commit
    • Implement -fopt-info support for IPA ICF. · fe6c4dc4
      2019-08-09  Martin Liska  <mliska@suse.cz>
      
      	* ipa-icf.c (sem_function::merge): Define AUTO_DUMP_SCOPE and
      	use dump_printf to report optimization.
      	(sem_variable::merge): Likwise.
      	(sem_item_optimizer::merge_classes): Use dump_printf to report
      	ICF hits.
      2019-08-09  Martin Liska  <mliska@suse.cz>
      
      	* g++.dg/ipa/ipa-icf-2.C: Add -optimized to -fdump-ipa-icf.
      	* g++.dg/ipa/ipa-icf-3.C: Likewise.
      	* g++.dg/ipa/ipa-icf-4.C: Likewise.
      	* g++.dg/ipa/ipa-icf-6.C: Likewise.
      	* gcc.dg/ipa/ipa-icf-1.c: Likewise.
      	* gcc.dg/ipa/ipa-icf-10.c: Likewise.
      	* gcc.dg/ipa/ipa-icf-11.c: Likewise.
      	* gcc.dg/ipa/ipa-icf-12.c: Likewise.
      	* gcc.dg/ipa/ipa-icf-13.c: Likewise.
      	* gcc.dg/ipa/ipa-icf-16.c: Likewise.
      	* gcc.dg/ipa/ipa-icf-18.c: Likewise.
      	* gcc.dg/ipa/ipa-icf-2.c: Likewise.
      	* gcc.dg/ipa/ipa-icf-20.c: Likewise.
      	* gcc.dg/ipa/ipa-icf-21.c: Likewise.
      	* gcc.dg/ipa/ipa-icf-23.c: Likewise.
      	* gcc.dg/ipa/ipa-icf-25.c: Likewise.
      	* gcc.dg/ipa/ipa-icf-26.c: Likewise.
      	* gcc.dg/ipa/ipa-icf-27.c: Likewise.
      	* gcc.dg/ipa/ipa-icf-3.c: Likewise.
      	* gcc.dg/ipa/ipa-icf-35.c: Likewise.
      	* gcc.dg/ipa/ipa-icf-36.c: Likewise.
      	* gcc.dg/ipa/ipa-icf-37.c: Likewise.
      	* gcc.dg/ipa/ipa-icf-38.c: Likewise.
      	* gcc.dg/ipa/ipa-icf-39.c: Likewise.
      	* gcc.dg/ipa/ipa-icf-5.c: Likewise.
      	* gcc.dg/ipa/ipa-icf-7.c: Likewise.
      	* gcc.dg/ipa/ipa-icf-8.c: Likewise.
      	* gcc.dg/ipa/ipa-icf-merge-1.c: Likewise.
      	* gcc.dg/ipa/pr64307.c: Likewise.
      	* gcc.dg/ipa/pr90555.c: Likewise.
      
      From-SVN: r274230
      Martin Liska committed
  10. 25 Jul, 2019 1 commit
    • Come up with function_decl_type and use it in tree_function_decl. · cb50701e
      2019-07-25  Martin Liska  <mliska@suse.cz>
      
      	* calls.c (maybe_warn_alloc_args_overflow): Use new macros
      	(e.g. DECL_SET_LAMBDA_FUNCTION and DECL_LAMBDA_FUNCTION_P).
      	* coverage.c (coverage_begin_function): Likewise.
      	* fold-const.c (tree_expr_nonzero_warnv_p): Likewise.
      	* gimple.c (gimple_call_nonnull_result_p): Likewise.
      	* ipa-icf.c (sem_item::compare_referenced_symbol_properties): Likewise.
      	(sem_item::hash_referenced_symbol_properties): Likewise.
      	* lto-streamer-out.c (hash_tree): Likewise.
      	* predict.c (expr_expected_value_1): Likewise.
      	* tree-inline.c (expand_call_inline): Likewise.
      	* tree-streamer-in.c (unpack_ts_function_decl_value_fields): Likewise.
      	* tree-streamer-out.c (pack_ts_function_decl_value_fields): Likewise.
      	* tree-core.h (enum function_decl_type): New enum.
      	(struct tree_function_decl): Remove operator_new_flag and lambda_function.
      	* tree.h (FUNCTION_DECL_DECL_TYPE): New.
      	(set_function_decl_type): Likewise.
      	(DECL_IS_OPERATOR_NEW_P): New.
      	(DECL_SET_IS_OPERATOR_NEW): Likewise.
      	(DECL_LAMBDA_FUNCTION): Likewise.
      	(DECL_LAMBDA_FUNCTION_P): Likewise.
      	(DECL_IS_OPERATOR_NEW): Remove.
      	(DECL_SET_LAMBDA_FUNCTION): Likewise.
      2019-07-25  Martin Liska  <mliska@suse.cz>
      
      	* c-decl.c (merge_decls): Use new macros
      	(e.g. DECL_SET_LAMBDA_FUNCTION and DECL_LAMBDA_FUNCTION_P).
      2019-07-25  Martin Liska  <mliska@suse.cz>
      
      	* decl.c (duplicate_decls): Use new macros
      	(e.g. DECL_SET_LAMBDA_FUNCTION and DECL_LAMBDA_FUNCTION_P).
      	(cxx_init_decl_processing): Likewise.
      	(grok_op_properties): Likewise.
      	* parser.c (cp_parser_lambda_declarator_opt): Likewise.
      2019-07-25  Martin Liska  <mliska@suse.cz>
      
      	* lto-common.c (compare_tree_sccs_1): Use new macros
      	(e.g. DECL_SET_LAMBDA_FUNCTION and DECL_LAMBDA_FUNCTION_P).
      
      From-SVN: r273790
      Martin Liska committed
  11. 09 Jul, 2019 1 commit
    • PR c++/61339 - add mismatch between struct and class [-Wmismatched-tags] to non-bugs · 99b1c316
      gcc/c/ChangeLog:
      
      	PR c++/61339
      	* c-decl.c (xref_tag): Change class-key of PODs to struct and others
      	to class.
      	(field_decl_cmp): Same.
      	* c-parser.c (c_parser_struct_or_union_specifier): Same.
      	* c-tree.h: Same.
      	* gimple-parser.c (c_parser_gimple_compound_statement): Same.
      
      gcc/c-family/ChangeLog:
      
      	PR c++/61339
      	* c-opts.c (handle_deferred_opts): : Change class-key of PODs to struct
      	and others to class.
      	* c-pretty-print.h: Same.
      
      gcc/cp/ChangeLog:
      
      	PR c++/61339
      	* cp-tree.h: Change class-key of PODs to struct and others to class.
      	* search.c: Same.
      	* semantics.c (finalize_nrv_r): Same.
      
      gcc/lto/ChangeLog:
      
      	PR c++/61339
      	* lto-common.c (lto_splay_tree_new): : Change class-key of PODs
      	to struct and others to class.
      	(mentions_vars_p): Same.
      	(register_resolution): Same.
      	(lto_register_var_decl_in_symtab): Same.
      	(lto_register_function_decl_in_symtab): Same.
      	(cmp_tree): Same.
      	(lto_read_decls): Same.
      
      gcc/ChangeLog:
      
      	PR c++/61339
      	* auto-profile.c: Change class-key of PODs to struct and others
      	to class.
      	* basic-block.h: Same.
      	* bitmap.c (bitmap_alloc): Same.
      	* bitmap.h: Same.
      	* builtins.c (expand_builtin_prefetch): Same.
      	(expand_builtin_interclass_mathfn): Same.
      	(expand_builtin_strlen): Same.
      	(expand_builtin_mempcpy_args): Same.
      	(expand_cmpstr): Same.
      	(expand_builtin___clear_cache): Same.
      	(expand_ifn_atomic_bit_test_and): Same.
      	(expand_builtin_thread_pointer): Same.
      	(expand_builtin_set_thread_pointer): Same.
      	* caller-save.c (setup_save_areas): Same.
      	(replace_reg_with_saved_mem): Same.
      	(insert_restore): Same.
      	(insert_save): Same.
      	(add_used_regs): Same.
      	* cfg.c (get_bb_copy): Same.
      	(set_loop_copy): Same.
      	* cfg.h: Same.
      	* cfganal.h: Same.
      	* cfgexpand.c (alloc_stack_frame_space): Same.
      	(add_stack_var): Same.
      	(add_stack_var_conflict): Same.
      	(add_scope_conflicts_1): Same.
      	(update_alias_info_with_stack_vars): Same.
      	(expand_used_vars): Same.
      	* cfghooks.c (redirect_edge_and_branch_force): Same.
      	(delete_basic_block): Same.
      	(split_edge): Same.
      	(make_forwarder_block): Same.
      	(force_nonfallthru): Same.
      	(duplicate_block): Same.
      	(lv_flush_pending_stmts): Same.
      	* cfghooks.h: Same.
      	* cfgloop.c (flow_loops_cfg_dump): Same.
      	(flow_loop_nested_p): Same.
      	(superloop_at_depth): Same.
      	(get_loop_latch_edges): Same.
      	(flow_loop_dump): Same.
      	(flow_loops_dump): Same.
      	(flow_loops_free): Same.
      	(flow_loop_nodes_find): Same.
      	(establish_preds): Same.
      	(flow_loop_tree_node_add): Same.
      	(flow_loop_tree_node_remove): Same.
      	(flow_loops_find): Same.
      	(find_subloop_latch_edge_by_profile): Same.
      	(find_subloop_latch_edge_by_ivs): Same.
      	(mfb_redirect_edges_in_set): Same.
      	(form_subloop): Same.
      	(merge_latch_edges): Same.
      	(disambiguate_multiple_latches): Same.
      	(disambiguate_loops_with_multiple_latches): Same.
      	(flow_bb_inside_loop_p): Same.
      	(glb_enum_p): Same.
      	(get_loop_body_with_size): Same.
      	(get_loop_body): Same.
      	(fill_sons_in_loop): Same.
      	(get_loop_body_in_dom_order): Same.
      	(get_loop_body_in_custom_order): Same.
      	(release_recorded_exits): Same.
      	(get_loop_exit_edges): Same.
      	(num_loop_branches): Same.
      	(remove_bb_from_loops): Same.
      	(find_common_loop): Same.
      	(delete_loop): Same.
      	(cancel_loop): Same.
      	(verify_loop_structure): Same.
      	(loop_preheader_edge): Same.
      	(loop_exit_edge_p): Same.
      	(single_exit): Same.
      	(loop_exits_to_bb_p): Same.
      	(loop_exits_from_bb_p): Same.
      	(get_loop_location): Same.
      	(record_niter_bound): Same.
      	(get_estimated_loop_iterations_int): Same.
      	(max_stmt_executions_int): Same.
      	(likely_max_stmt_executions_int): Same.
      	(get_estimated_loop_iterations): Same.
      	(get_max_loop_iterations): Same.
      	(get_max_loop_iterations_int): Same.
      	(get_likely_max_loop_iterations): Same.
      	* cfgloop.h (simple_loop_desc): Same.
      	(get_loop): Same.
      	(loop_depth): Same.
      	(loop_outer): Same.
      	(loop_iterator::next): Same.
      	(loop_outermost): Same.
      	* cfgloopanal.c (mark_irreducible_loops): Same.
      	(num_loop_insns): Same.
      	(average_num_loop_insns): Same.
      	(expected_loop_iterations_unbounded): Same.
      	(expected_loop_iterations): Same.
      	(mark_loop_exit_edges): Same.
      	(single_likely_exit): Same.
      	* cfgloopmanip.c (fix_bb_placement): Same.
      	(fix_bb_placements): Same.
      	(remove_path): Same.
      	(place_new_loop): Same.
      	(add_loop): Same.
      	(scale_loop_frequencies): Same.
      	(scale_loop_profile): Same.
      	(create_empty_if_region_on_edge): Same.
      	(create_empty_loop_on_edge): Same.
      	(loopify): Same.
      	(unloop): Same.
      	(fix_loop_placements): Same.
      	(copy_loop_info): Same.
      	(duplicate_loop): Same.
      	(duplicate_subloops): Same.
      	(loop_redirect_edge): Same.
      	(can_duplicate_loop_p): Same.
      	(duplicate_loop_to_header_edge): Same.
      	(mfb_keep_just): Same.
      	(has_preds_from_loop): Same.
      	(create_preheader): Same.
      	(create_preheaders): Same.
      	(lv_adjust_loop_entry_edge): Same.
      	(loop_version): Same.
      	* cfgloopmanip.h: Same.
      	* cgraph.h: Same.
      	* cgraphbuild.c: Same.
      	* combine.c (make_extraction): Same.
      	* config/i386/i386-features.c: Same.
      	* config/i386/i386-features.h: Same.
      	* config/i386/i386.c (ix86_emit_outlined_ms2sysv_save): Same.
      	(ix86_emit_outlined_ms2sysv_restore): Same.
      	(ix86_noce_conversion_profitable_p): Same.
      	(ix86_init_cost): Same.
      	(ix86_simd_clone_usable): Same.
      	* configure.ac: Same.
      	* coretypes.h: Same.
      	* data-streamer-in.c (string_for_index): Same.
      	(streamer_read_indexed_string): Same.
      	(streamer_read_string): Same.
      	(bp_unpack_indexed_string): Same.
      	(bp_unpack_string): Same.
      	(streamer_read_uhwi): Same.
      	(streamer_read_hwi): Same.
      	(streamer_read_gcov_count): Same.
      	(streamer_read_wide_int): Same.
      	* data-streamer.h (streamer_write_bitpack): Same.
      	(bp_unpack_value): Same.
      	(streamer_write_char_stream): Same.
      	(streamer_write_hwi_in_range): Same.
      	(streamer_write_record_start): Same.
      	* ddg.c (create_ddg_dep_from_intra_loop_link): Same.
      	(add_cross_iteration_register_deps): Same.
      	(build_intra_loop_deps): Same.
      	* df-core.c (df_analyze): Same.
      	(loop_post_order_compute): Same.
      	(loop_inverted_post_order_compute): Same.
      	* df-problems.c (df_rd_alloc): Same.
      	(df_rd_simulate_one_insn): Same.
      	(df_rd_local_compute): Same.
      	(df_rd_init_solution): Same.
      	(df_rd_confluence_n): Same.
      	(df_rd_transfer_function): Same.
      	(df_rd_free): Same.
      	(df_rd_dump_defs_set): Same.
      	(df_rd_top_dump): Same.
      	(df_lr_alloc): Same.
      	(df_lr_reset): Same.
      	(df_lr_local_compute): Same.
      	(df_lr_init): Same.
      	(df_lr_confluence_n): Same.
      	(df_lr_free): Same.
      	(df_lr_top_dump): Same.
      	(df_lr_verify_transfer_functions): Same.
      	(df_live_alloc): Same.
      	(df_live_reset): Same.
      	(df_live_init): Same.
      	(df_live_confluence_n): Same.
      	(df_live_finalize): Same.
      	(df_live_free): Same.
      	(df_live_top_dump): Same.
      	(df_live_verify_transfer_functions): Same.
      	(df_mir_alloc): Same.
      	(df_mir_reset): Same.
      	(df_mir_init): Same.
      	(df_mir_confluence_n): Same.
      	(df_mir_free): Same.
      	(df_mir_top_dump): Same.
      	(df_word_lr_alloc): Same.
      	(df_word_lr_reset): Same.
      	(df_word_lr_init): Same.
      	(df_word_lr_confluence_n): Same.
      	(df_word_lr_free): Same.
      	(df_word_lr_top_dump): Same.
      	(df_md_alloc): Same.
      	(df_md_simulate_one_insn): Same.
      	(df_md_reset): Same.
      	(df_md_init): Same.
      	(df_md_free): Same.
      	(df_md_top_dump): Same.
      	* df-scan.c (df_insn_delete): Same.
      	(df_insn_rescan): Same.
      	(df_notes_rescan): Same.
      	(df_sort_and_compress_mws): Same.
      	(df_install_mws): Same.
      	(df_refs_add_to_chains): Same.
      	(df_ref_create_structure): Same.
      	(df_ref_record): Same.
      	(df_def_record_1): Same.
      	(df_find_hard_reg_defs): Same.
      	(df_uses_record): Same.
      	(df_get_conditional_uses): Same.
      	(df_get_call_refs): Same.
      	(df_recompute_luids): Same.
      	(df_get_entry_block_def_set): Same.
      	(df_entry_block_defs_collect): Same.
      	(df_get_exit_block_use_set): Same.
      	(df_exit_block_uses_collect): Same.
      	(df_mws_verify): Same.
      	(df_bb_verify): Same.
      	* df.h (df_scan_get_bb_info): Same.
      	* doc/tm.texi: Same.
      	* dse.c (record_store): Same.
      	* dumpfile.h: Same.
      	* emit-rtl.c (const_fixed_hasher::equal): Same.
      	(set_mem_attributes_minus_bitpos): Same.
      	(change_address): Same.
      	(adjust_address_1): Same.
      	(offset_address): Same.
      	* emit-rtl.h: Same.
      	* except.c (dw2_build_landing_pads): Same.
      	(sjlj_emit_dispatch_table): Same.
      	* explow.c (allocate_dynamic_stack_space): Same.
      	(emit_stack_probe): Same.
      	(probe_stack_range): Same.
      	* expmed.c (store_bit_field_using_insv): Same.
      	(store_bit_field_1): Same.
      	(store_integral_bit_field): Same.
      	(extract_bit_field_using_extv): Same.
      	(extract_bit_field_1): Same.
      	(emit_cstore): Same.
      	* expr.c (emit_block_move_via_cpymem): Same.
      	(expand_cmpstrn_or_cmpmem): Same.
      	(set_storage_via_setmem): Same.
      	(emit_single_push_insn_1): Same.
      	(expand_assignment): Same.
      	(store_constructor): Same.
      	(expand_expr_real_2): Same.
      	(expand_expr_real_1): Same.
      	(try_casesi): Same.
      	* flags.h: Same.
      	* function.c (try_fit_stack_local): Same.
      	(assign_stack_local_1): Same.
      	(assign_stack_local): Same.
      	(cut_slot_from_list): Same.
      	(insert_slot_to_list): Same.
      	(max_slot_level): Same.
      	(move_slot_to_level): Same.
      	(temp_address_hasher::equal): Same.
      	(remove_unused_temp_slot_addresses): Same.
      	(assign_temp): Same.
      	(combine_temp_slots): Same.
      	(update_temp_slot_address): Same.
      	(preserve_temp_slots): Same.
      	* function.h: Same.
      	* fwprop.c: Same.
      	* gcc-rich-location.h: Same.
      	* gcov.c: Same.
      	* genattrtab.c (check_attr_test): Same.
      	(check_attr_value): Same.
      	(convert_set_attr_alternative): Same.
      	(convert_set_attr): Same.
      	(check_defs): Same.
      	(copy_boolean): Same.
      	(get_attr_value): Same.
      	(expand_delays): Same.
      	(make_length_attrs): Same.
      	(min_fn): Same.
      	(make_alternative_compare): Same.
      	(simplify_test_exp): Same.
      	(tests_attr_p): Same.
      	(get_attr_order): Same.
      	(clear_struct_flag): Same.
      	(gen_attr): Same.
      	(compares_alternatives_p): Same.
      	(gen_insn): Same.
      	(gen_delay): Same.
      	(find_attrs_to_cache): Same.
      	(write_test_expr): Same.
      	(walk_attr_value): Same.
      	(write_attr_get): Same.
      	(eliminate_known_true): Same.
      	(write_insn_cases): Same.
      	(write_attr_case): Same.
      	(write_attr_valueq): Same.
      	(write_attr_value): Same.
      	(write_dummy_eligible_delay): Same.
      	(next_comma_elt): Same.
      	(find_attr): Same.
      	(make_internal_attr): Same.
      	(copy_rtx_unchanging): Same.
      	(gen_insn_reserv): Same.
      	(check_tune_attr): Same.
      	(make_automaton_attrs): Same.
      	(handle_arg): Same.
      	* genextract.c (gen_insn): Same.
      	(VEC_char_to_string): Same.
      	* genmatch.c (print_operand): Same.
      	(lower): Same.
      	(parser::parse_operation): Same.
      	(parser::parse_capture): Same.
      	(parser::parse_c_expr): Same.
      	(parser::parse_simplify): Same.
      	(main): Same.
      	* genoutput.c (output_operand_data): Same.
      	(output_get_insn_name): Same.
      	(compare_operands): Same.
      	(place_operands): Same.
      	(process_template): Same.
      	(validate_insn_alternatives): Same.
      	(validate_insn_operands): Same.
      	(gen_expand): Same.
      	(note_constraint): Same.
      	* genpreds.c (write_one_predicate_function): Same.
      	(add_constraint): Same.
      	(process_define_register_constraint): Same.
      	(write_lookup_constraint_1): Same.
      	(write_lookup_constraint_array): Same.
      	(write_insn_constraint_len): Same.
      	(write_reg_class_for_constraint_1): Same.
      	(write_constraint_satisfied_p_array): Same.
      	* genrecog.c (optimize_subroutine_group): Same.
      	* gensupport.c (process_define_predicate): Same.
      	(queue_pattern): Same.
      	(remove_from_queue): Same.
      	(process_rtx): Same.
      	(is_predicable): Same.
      	(change_subst_attribute): Same.
      	(subst_pattern_match): Same.
      	(alter_constraints): Same.
      	(alter_attrs_for_insn): Same.
      	(shift_output_template): Same.
      	(alter_output_for_subst_insn): Same.
      	(process_one_cond_exec): Same.
      	(subst_dup): Same.
      	(process_define_cond_exec): Same.
      	(mnemonic_htab_callback): Same.
      	(gen_mnemonic_attr): Same.
      	(read_md_rtx): Same.
      	* ggc-page.c: Same.
      	* gimple-loop-interchange.cc (dump_reduction): Same.
      	(dump_induction): Same.
      	(loop_cand::~loop_cand): Same.
      	(free_data_refs_with_aux): Same.
      	(tree_loop_interchange::interchange_loops): Same.
      	(tree_loop_interchange::map_inductions_to_loop): Same.
      	(tree_loop_interchange::move_code_to_inner_loop): Same.
      	(compute_access_stride): Same.
      	(compute_access_strides): Same.
      	(proper_loop_form_for_interchange): Same.
      	(tree_loop_interchange_compute_ddrs): Same.
      	(prune_datarefs_not_in_loop): Same.
      	(prepare_data_references): Same.
      	(pass_linterchange::execute): Same.
      	* gimple-loop-jam.c (bb_prevents_fusion_p): Same.
      	(unroll_jam_possible_p): Same.
      	(fuse_loops): Same.
      	(adjust_unroll_factor): Same.
      	(tree_loop_unroll_and_jam): Same.
      	* gimple-loop-versioning.cc (loop_versioning::~loop_versioning): Same.
      	(loop_versioning::expensive_stmt_p): Same.
      	(loop_versioning::version_for_unity): Same.
      	(loop_versioning::dump_inner_likelihood): Same.
      	(loop_versioning::find_per_loop_multiplication): Same.
      	(loop_versioning::analyze_term_using_scevs): Same.
      	(loop_versioning::record_address_fragment): Same.
      	(loop_versioning::analyze_expr): Same.
      	(loop_versioning::analyze_blocks): Same.
      	(loop_versioning::prune_conditions): Same.
      	(loop_versioning::merge_loop_info): Same.
      	(loop_versioning::add_loop_to_queue): Same.
      	(loop_versioning::decide_whether_loop_is_versionable): Same.
      	(loop_versioning::make_versioning_decisions): Same.
      	(loop_versioning::implement_versioning_decisions): Same.
      	* gimple-ssa-evrp-analyze.c
      	(evrp_range_analyzer::record_ranges_from_phis): Same.
      	* gimple-ssa-store-merging.c (split_store::split_store): Same.
      	(count_multiple_uses): Same.
      	(split_group): Same.
      	(imm_store_chain_info::output_merged_store): Same.
      	(pass_store_merging::process_store): Same.
      	* gimple-ssa-strength-reduction.c (slsr_process_phi): Same.
      	* gimple-ssa-warn-alloca.c (adjusted_warn_limit): Same.
      	(is_max): Same.
      	(alloca_call_type): Same.
      	(pass_walloca::execute): Same.
      	* gimple-streamer-in.c (input_phi): Same.
      	(input_gimple_stmt): Same.
      	* gimple-streamer.h: Same.
      	* godump.c (go_force_record_alignment): Same.
      	(go_format_type): Same.
      	(go_output_type): Same.
      	(go_output_fndecl): Same.
      	(go_output_typedef): Same.
      	(keyword_hash_init): Same.
      	(find_dummy_types): Same.
      	* graph.c (draw_cfg_nodes_no_loops): Same.
      	(draw_cfg_nodes_for_loop): Same.
      	* hard-reg-set.h (hard_reg_set_iter_next): Same.
      	* hsa-brig.c: Same.
      	* hsa-common.h (hsa_internal_fn_hasher::equal): Same.
      	* hsa-dump.c (dump_hsa_cfun): Same.
      	* hsa-gen.c (gen_function_def_parameters): Same.
      	* hsa-regalloc.c (dump_hsa_cfun_regalloc): Same.
      	* input.c (dump_line_table_statistics): Same.
      	(test_lexer): Same.
      	* input.h: Same.
      	* internal-fn.c (get_multi_vector_move): Same.
      	(expand_load_lanes_optab_fn): Same.
      	(expand_GOMP_SIMT_ENTER_ALLOC): Same.
      	(expand_GOMP_SIMT_EXIT): Same.
      	(expand_GOMP_SIMT_LAST_LANE): Same.
      	(expand_GOMP_SIMT_ORDERED_PRED): Same.
      	(expand_GOMP_SIMT_VOTE_ANY): Same.
      	(expand_GOMP_SIMT_XCHG_BFLY): Same.
      	(expand_GOMP_SIMT_XCHG_IDX): Same.
      	(expand_addsub_overflow): Same.
      	(expand_neg_overflow): Same.
      	(expand_mul_overflow): Same.
      	(expand_call_mem_ref): Same.
      	(expand_mask_load_optab_fn): Same.
      	(expand_scatter_store_optab_fn): Same.
      	(expand_gather_load_optab_fn): Same.
      	* ipa-cp.c (ipa_get_parm_lattices): Same.
      	(print_all_lattices): Same.
      	(ignore_edge_p): Same.
      	(build_toporder_info): Same.
      	(free_toporder_info): Same.
      	(push_node_to_stack): Same.
      	(ipcp_lattice<valtype>::set_contains_variable): Same.
      	(set_agg_lats_to_bottom): Same.
      	(ipcp_bits_lattice::meet_with): Same.
      	(set_single_call_flag): Same.
      	(initialize_node_lattices): Same.
      	(ipa_get_jf_ancestor_result): Same.
      	(ipcp_verify_propagated_values): Same.
      	(propagate_scalar_across_jump_function): Same.
      	(propagate_context_across_jump_function): Same.
      	(propagate_bits_across_jump_function): Same.
      	(ipa_vr_operation_and_type_effects): Same.
      	(propagate_vr_across_jump_function): Same.
      	(set_check_aggs_by_ref): Same.
      	(set_chain_of_aglats_contains_variable): Same.
      	(merge_aggregate_lattices): Same.
      	(agg_pass_through_permissible_p): Same.
      	(propagate_aggs_across_jump_function): Same.
      	(call_passes_through_thunk_p): Same.
      	(propagate_constants_across_call): Same.
      	(devirtualization_time_bonus): Same.
      	(good_cloning_opportunity_p): Same.
      	(context_independent_aggregate_values): Same.
      	(gather_context_independent_values): Same.
      	(perform_estimation_of_a_value): Same.
      	(estimate_local_effects): Same.
      	(value_topo_info<valtype>::add_val): Same.
      	(add_all_node_vals_to_toposort): Same.
      	(value_topo_info<valtype>::propagate_effects): Same.
      	(ipcp_propagate_stage): Same.
      	(ipcp_discover_new_direct_edges): Same.
      	(same_node_or_its_all_contexts_clone_p): Same.
      	(cgraph_edge_brings_value_p): Same.
      	(gather_edges_for_value): Same.
      	(create_specialized_node): Same.
      	(find_more_scalar_values_for_callers_subset): Same.
      	(find_more_contexts_for_caller_subset): Same.
      	(copy_plats_to_inter): Same.
      	(intersect_aggregates_with_edge): Same.
      	(find_aggregate_values_for_callers_subset): Same.
      	(cgraph_edge_brings_all_agg_vals_for_node): Same.
      	(decide_about_value): Same.
      	(decide_whether_version_node): Same.
      	(spread_undeadness): Same.
      	(identify_dead_nodes): Same.
      	(ipcp_store_vr_results): Same.
      	* ipa-devirt.c (final_warning_record::grow_type_warnings): Same.
      	* ipa-fnsummary.c (ipa_fn_summary::account_size_time): Same.
      	(redirect_to_unreachable): Same.
      	(edge_set_predicate): Same.
      	(evaluate_conditions_for_known_args): Same.
      	(evaluate_properties_for_edge): Same.
      	(ipa_fn_summary_t::duplicate): Same.
      	(ipa_call_summary_t::duplicate): Same.
      	(dump_ipa_call_summary): Same.
      	(ipa_dump_fn_summary): Same.
      	(eliminated_by_inlining_prob): Same.
      	(set_cond_stmt_execution_predicate): Same.
      	(set_switch_stmt_execution_predicate): Same.
      	(compute_bb_predicates): Same.
      	(will_be_nonconstant_expr_predicate): Same.
      	(phi_result_unknown_predicate): Same.
      	(analyze_function_body): Same.
      	(compute_fn_summary): Same.
      	(estimate_edge_devirt_benefit): Same.
      	(estimate_edge_size_and_time): Same.
      	(estimate_calls_size_and_time): Same.
      	(estimate_node_size_and_time): Same.
      	(remap_edge_change_prob): Same.
      	(remap_edge_summaries): Same.
      	(ipa_merge_fn_summary_after_inlining): Same.
      	(ipa_fn_summary_generate): Same.
      	(inline_read_section): Same.
      	(ipa_fn_summary_read): Same.
      	(ipa_fn_summary_write): Same.
      	* ipa-fnsummary.h: Same.
      	* ipa-hsa.c (ipa_hsa_read_section): Same.
      	* ipa-icf-gimple.c (func_checker::compare_loops): Same.
      	* ipa-icf.c (sem_function::param_used_p): Same.
      	* ipa-inline-analysis.c (do_estimate_edge_time): Same.
      	* ipa-inline.c (edge_badness): Same.
      	(inline_small_functions): Same.
      	* ipa-polymorphic-call.c
      	(ipa_polymorphic_call_context::stream_out): Same.
      	* ipa-predicate.c (predicate::remap_after_duplication): Same.
      	(predicate::remap_after_inlining): Same.
      	(predicate::stream_out): Same.
      	* ipa-predicate.h: Same.
      	* ipa-profile.c (ipa_profile_read_summary): Same.
      	* ipa-prop.c (ipa_get_param_decl_index_1): Same.
      	(count_formal_params): Same.
      	(ipa_dump_param): Same.
      	(ipa_alloc_node_params): Same.
      	(ipa_print_node_jump_functions_for_edge): Same.
      	(ipa_print_node_jump_functions): Same.
      	(ipa_load_from_parm_agg): Same.
      	(get_ancestor_addr_info): Same.
      	(ipa_compute_jump_functions_for_edge): Same.
      	(ipa_analyze_virtual_call_uses): Same.
      	(ipa_analyze_stmt_uses): Same.
      	(ipa_analyze_params_uses_in_bb): Same.
      	(update_jump_functions_after_inlining): Same.
      	(try_decrement_rdesc_refcount): Same.
      	(ipa_impossible_devirt_target): Same.
      	(update_indirect_edges_after_inlining): Same.
      	(combine_controlled_uses_counters): Same.
      	(ipa_edge_args_sum_t::duplicate): Same.
      	(ipa_write_jump_function): Same.
      	(ipa_write_indirect_edge_info): Same.
      	(ipa_write_node_info): Same.
      	(ipa_read_edge_info): Same.
      	(ipa_prop_read_section): Same.
      	(read_replacements_section): Same.
      	* ipa-prop.h (ipa_get_param_count): Same.
      	(ipa_get_param): Same.
      	(ipa_get_type): Same.
      	(ipa_get_param_move_cost): Same.
      	(ipa_set_param_used): Same.
      	(ipa_get_controlled_uses): Same.
      	(ipa_set_controlled_uses): Same.
      	(ipa_get_cs_argument_count): Same.
      	* ipa-pure-const.c (analyze_function): Same.
      	(pure_const_read_summary): Same.
      	* ipa-ref.h: Same.
      	* ipa-reference.c (ipa_reference_read_optimization_summary): Same.
      	* ipa-split.c (test_nonssa_use): Same.
      	(dump_split_point): Same.
      	(dominated_by_forbidden): Same.
      	(split_part_set_ssa_name_p): Same.
      	(find_split_points): Same.
      	* ira-build.c (finish_loop_tree_nodes): Same.
      	(low_pressure_loop_node_p): Same.
      	* ira-color.c (ira_reuse_stack_slot): Same.
      	* ira-int.h: Same.
      	* ira.c (setup_reg_equiv): Same.
      	(print_insn_chain): Same.
      	(ira): Same.
      	* loop-doloop.c (doloop_condition_get): Same.
      	(add_test): Same.
      	(record_reg_sets): Same.
      	(doloop_optimize): Same.
      	* loop-init.c (loop_optimizer_init): Same.
      	(fix_loop_structure): Same.
      	* loop-invariant.c (merge_identical_invariants): Same.
      	(compute_always_reached): Same.
      	(find_exits): Same.
      	(may_assign_reg_p): Same.
      	(find_invariants_bb): Same.
      	(find_invariants_body): Same.
      	(replace_uses): Same.
      	(can_move_invariant_reg): Same.
      	(free_inv_motion_data): Same.
      	(move_single_loop_invariants): Same.
      	(change_pressure): Same.
      	(mark_ref_regs): Same.
      	(calculate_loop_reg_pressure): Same.
      	* loop-iv.c (biv_entry_hasher::equal): Same.
      	(iv_extend_to_rtx_code): Same.
      	(check_iv_ref_table_size): Same.
      	(clear_iv_info): Same.
      	(latch_dominating_def): Same.
      	(iv_get_reaching_def): Same.
      	(iv_constant): Same.
      	(iv_subreg): Same.
      	(iv_extend): Same.
      	(iv_neg): Same.
      	(iv_add): Same.
      	(iv_mult): Same.
      	(get_biv_step): Same.
      	(record_iv): Same.
      	(analyzed_for_bivness_p): Same.
      	(record_biv): Same.
      	(iv_analyze_biv): Same.
      	(iv_analyze_expr): Same.
      	(iv_analyze_def): Same.
      	(iv_analyze_op): Same.
      	(iv_analyze): Same.
      	(iv_analyze_result): Same.
      	(biv_p): Same.
      	(eliminate_implied_conditions): Same.
      	(simplify_using_initial_values): Same.
      	(shorten_into_mode): Same.
      	(canonicalize_iv_subregs): Same.
      	(determine_max_iter): Same.
      	(check_simple_exit): Same.
      	(find_simple_exit): Same.
      	(get_simple_loop_desc): Same.
      	* loop-unroll.c (report_unroll): Same.
      	(decide_unrolling): Same.
      	(unroll_loops): Same.
      	(loop_exit_at_end_p): Same.
      	(decide_unroll_constant_iterations): Same.
      	(unroll_loop_constant_iterations): Same.
      	(compare_and_jump_seq): Same.
      	(unroll_loop_runtime_iterations): Same.
      	(decide_unroll_stupid): Same.
      	(unroll_loop_stupid): Same.
      	(referenced_in_one_insn_in_loop_p): Same.
      	(reset_debug_uses_in_loop): Same.
      	(analyze_iv_to_split_insn): Same.
      	* lra-eliminations.c (lra_debug_elim_table): Same.
      	(setup_can_eliminate): Same.
      	(form_sum): Same.
      	(lra_get_elimination_hard_regno): Same.
      	(lra_eliminate_regs_1): Same.
      	(eliminate_regs_in_insn): Same.
      	(update_reg_eliminate): Same.
      	(init_elimination): Same.
      	(lra_eliminate): Same.
      	* lra-int.h: Same.
      	* lra-lives.c (initiate_live_solver): Same.
      	* lra-remat.c (create_remat_bb_data): Same.
      	* lra-spills.c (lra_spill): Same.
      	* lra.c (lra_set_insn_recog_data): Same.
      	(lra_set_used_insn_alternative_by_uid): Same.
      	(init_reg_info): Same.
      	(expand_reg_info): Same.
      	* lto-cgraph.c (output_symtab): Same.
      	(read_identifier): Same.
      	(get_alias_symbol): Same.
      	(input_node): Same.
      	(input_varpool_node): Same.
      	(input_ref): Same.
      	(input_edge): Same.
      	(input_cgraph_1): Same.
      	(input_refs): Same.
      	(input_symtab): Same.
      	(input_offload_tables): Same.
      	(output_cgraph_opt_summary): Same.
      	(input_edge_opt_summary): Same.
      	(input_cgraph_opt_section): Same.
      	* lto-section-in.c (lto_free_raw_section_data): Same.
      	(lto_create_simple_input_block): Same.
      	(lto_free_function_in_decl_state_for_node): Same.
      	* lto-streamer-in.c (lto_tag_check_set): Same.
      	(lto_location_cache::revert_location_cache): Same.
      	(lto_location_cache::input_location): Same.
      	(lto_input_location): Same.
      	(stream_input_location_now): Same.
      	(lto_input_tree_ref): Same.
      	(lto_input_eh_catch_list): Same.
      	(input_eh_region): Same.
      	(lto_init_eh): Same.
      	(make_new_block): Same.
      	(input_cfg): Same.
      	(fixup_call_stmt_edges): Same.
      	(input_struct_function_base): Same.
      	(input_function): Same.
      	(lto_read_body_or_constructor): Same.
      	(lto_read_tree_1): Same.
      	(lto_read_tree): Same.
      	(lto_input_scc): Same.
      	(lto_input_tree_1): Same.
      	(lto_input_toplevel_asms): Same.
      	(lto_input_mode_table): Same.
      	(lto_reader_init): Same.
      	(lto_data_in_create): Same.
      	* lto-streamer-out.c (output_cfg): Same.
      	* lto-streamer.h: Same.
      	* modulo-sched.c (duplicate_insns_of_cycles): Same.
      	(generate_prolog_epilog): Same.
      	(mark_loop_unsched): Same.
      	(dump_insn_location): Same.
      	(loop_canon_p): Same.
      	(sms_schedule): Same.
      	* omp-expand.c (expand_omp_for_ordered_loops): Same.
      	(expand_omp_for_generic): Same.
      	(expand_omp_for_static_nochunk): Same.
      	(expand_omp_for_static_chunk): Same.
      	(expand_omp_simd): Same.
      	(expand_omp_taskloop_for_inner): Same.
      	(expand_oacc_for): Same.
      	(expand_omp_atomic_pipeline): Same.
      	(mark_loops_in_oacc_kernels_region): Same.
      	* omp-offload.c (oacc_xform_loop): Same.
      	* omp-simd-clone.c (simd_clone_adjust): Same.
      	* optabs-query.c (get_traditional_extraction_insn): Same.
      	* optabs.c (expand_vector_broadcast): Same.
      	(expand_binop_directly): Same.
      	(expand_twoval_unop): Same.
      	(expand_twoval_binop): Same.
      	(expand_unop_direct): Same.
      	(emit_indirect_jump): Same.
      	(emit_conditional_move): Same.
      	(emit_conditional_neg_or_complement): Same.
      	(emit_conditional_add): Same.
      	(vector_compare_rtx): Same.
      	(expand_vec_perm_1): Same.
      	(expand_vec_perm_const): Same.
      	(expand_vec_cond_expr): Same.
      	(expand_vec_series_expr): Same.
      	(maybe_emit_atomic_exchange): Same.
      	(maybe_emit_sync_lock_test_and_set): Same.
      	(expand_atomic_compare_and_swap): Same.
      	(expand_atomic_load): Same.
      	(expand_atomic_store): Same.
      	(maybe_emit_op): Same.
      	(valid_multiword_target_p): Same.
      	(create_integer_operand): Same.
      	(maybe_legitimize_operand_same_code): Same.
      	(maybe_legitimize_operand): Same.
      	(create_convert_operand_from_type): Same.
      	(can_reuse_operands_p): Same.
      	(maybe_legitimize_operands): Same.
      	(maybe_gen_insn): Same.
      	(maybe_expand_insn): Same.
      	(maybe_expand_jump_insn): Same.
      	(expand_insn): Same.
      	* optabs.h (create_expand_operand): Same.
      	(create_fixed_operand): Same.
      	(create_output_operand): Same.
      	(create_input_operand): Same.
      	(create_convert_operand_to): Same.
      	(create_convert_operand_from): Same.
      	* optinfo.h: Same.
      	* poly-int.h: Same.
      	* predict.c (optimize_insn_for_speed_p): Same.
      	(optimize_loop_for_size_p): Same.
      	(optimize_loop_for_speed_p): Same.
      	(optimize_loop_nest_for_speed_p): Same.
      	(get_base_value): Same.
      	(predicted_by_loop_heuristics_p): Same.
      	(predict_extra_loop_exits): Same.
      	(predict_loops): Same.
      	(predict_paths_for_bb): Same.
      	(predict_paths_leading_to): Same.
      	(propagate_freq): Same.
      	(pass_profile::execute): Same.
      	* predict.h: Same.
      	* profile-count.c (profile_count::differs_from_p): Same.
      	(profile_probability::differs_lot_from_p): Same.
      	* profile-count.h: Same.
      	* profile.c (branch_prob): Same.
      	* regrename.c (free_chain_data): Same.
      	(mark_conflict): Same.
      	(create_new_chain): Same.
      	(merge_overlapping_regs): Same.
      	(init_rename_info): Same.
      	(merge_chains): Same.
      	(regrename_analyze): Same.
      	(regrename_do_replace): Same.
      	(scan_rtx_reg): Same.
      	(record_out_operands): Same.
      	(build_def_use): Same.
      	* regrename.h: Same.
      	* reload.h: Same.
      	* reload1.c (init_reload): Same.
      	(maybe_fix_stack_asms): Same.
      	(copy_reloads): Same.
      	(count_pseudo): Same.
      	(count_spilled_pseudo): Same.
      	(find_reg): Same.
      	(find_reload_regs): Same.
      	(select_reload_regs): Same.
      	(spill_hard_reg): Same.
      	(fixup_eh_region_note): Same.
      	(set_reload_reg): Same.
      	(allocate_reload_reg): Same.
      	(compute_reload_subreg_offset): Same.
      	(reload_adjust_reg_for_icode): Same.
      	(emit_input_reload_insns): Same.
      	(emit_output_reload_insns): Same.
      	(do_input_reload): Same.
      	(inherit_piecemeal_p): Same.
      	* rtl.h: Same.
      	* sanopt.c (maybe_get_dominating_check): Same.
      	(maybe_optimize_ubsan_ptr_ifn): Same.
      	(can_remove_asan_check): Same.
      	(maybe_optimize_asan_check_ifn): Same.
      	(sanopt_optimize_walker): Same.
      	* sched-deps.c (add_dependence_list): Same.
      	(chain_to_prev_insn): Same.
      	(add_insn_mem_dependence): Same.
      	(create_insn_reg_set): Same.
      	(maybe_extend_reg_info_p): Same.
      	(sched_analyze_reg): Same.
      	(sched_analyze_1): Same.
      	(get_implicit_reg_pending_clobbers): Same.
      	(chain_to_prev_insn_p): Same.
      	(deps_analyze_insn): Same.
      	(deps_start_bb): Same.
      	(sched_free_deps): Same.
      	(init_deps): Same.
      	(init_deps_reg_last): Same.
      	(free_deps): Same.
      	* sched-ebb.c: Same.
      	* sched-int.h: Same.
      	* sched-rgn.c (add_branch_dependences): Same.
      	(concat_insn_mem_list): Same.
      	(deps_join): Same.
      	(sched_rgn_compute_dependencies): Same.
      	* sel-sched-ir.c (reset_target_context): Same.
      	(copy_deps_context): Same.
      	(init_id_from_df): Same.
      	(has_dependence_p): Same.
      	(change_loops_latches): Same.
      	(bb_top_order_comparator): Same.
      	(make_region_from_loop_preheader): Same.
      	(sel_init_pipelining): Same.
      	(get_loop_nest_for_rgn): Same.
      	(make_regions_from_the_rest): Same.
      	(sel_is_loop_preheader_p): Same.
      	* sel-sched-ir.h (inner_loop_header_p): Same.
      	(get_all_loop_exits): Same.
      	* selftest.h: Same.
      	* sese.c (sese_build_liveouts): Same.
      	(sese_insert_phis_for_liveouts): Same.
      	* sese.h (defined_in_sese_p): Same.
      	* sreal.c (sreal::stream_out): Same.
      	* sreal.h: Same.
      	* streamer-hooks.h: Same.
      	* target-globals.c (save_target_globals): Same.
      	* target-globals.h: Same.
      	* target.def: Same.
      	* target.h: Same.
      	* targhooks.c (default_has_ifunc_p): Same.
      	(default_empty_mask_is_expensive): Same.
      	(default_init_cost): Same.
      	* targhooks.h: Same.
      	* toplev.c: Same.
      	* tree-affine.c (aff_combination_mult): Same.
      	(aff_combination_expand): Same.
      	(aff_combination_constant_multiple_p): Same.
      	* tree-affine.h: Same.
      	* tree-cfg.c (build_gimple_cfg): Same.
      	(replace_loop_annotate_in_block): Same.
      	(replace_uses_by): Same.
      	(remove_bb): Same.
      	(dump_cfg_stats): Same.
      	(gimple_duplicate_sese_region): Same.
      	(gimple_duplicate_sese_tail): Same.
      	(move_block_to_fn): Same.
      	(replace_block_vars_by_duplicates): Same.
      	(move_sese_region_to_fn): Same.
      	(print_loops_bb): Same.
      	(print_loop): Same.
      	(print_loops): Same.
      	(debug): Same.
      	(debug_loops): Same.
      	* tree-cfg.h: Same.
      	* tree-chrec.c (chrec_fold_plus_poly_poly): Same.
      	(chrec_fold_multiply_poly_poly): Same.
      	(chrec_evaluate): Same.
      	(chrec_component_in_loop_num): Same.
      	(reset_evolution_in_loop): Same.
      	(is_multivariate_chrec): Same.
      	(chrec_contains_symbols): Same.
      	(nb_vars_in_chrec): Same.
      	(chrec_convert_1): Same.
      	(chrec_convert_aggressive): Same.
      	* tree-chrec.h: Same.
      	* tree-core.h: Same.
      	* tree-data-ref.c (dump_data_dependence_relation): Same.
      	(canonicalize_base_object_address): Same.
      	(data_ref_compare_tree): Same.
      	(prune_runtime_alias_test_list): Same.
      	(get_segment_min_max): Same.
      	(create_intersect_range_checks): Same.
      	(conflict_fn_no_dependence): Same.
      	(object_address_invariant_in_loop_p): Same.
      	(analyze_ziv_subscript): Same.
      	(analyze_siv_subscript_cst_affine): Same.
      	(analyze_miv_subscript): Same.
      	(analyze_overlapping_iterations): Same.
      	(build_classic_dist_vector_1): Same.
      	(add_other_self_distances): Same.
      	(same_access_functions): Same.
      	(build_classic_dir_vector): Same.
      	(subscript_dependence_tester_1): Same.
      	(subscript_dependence_tester): Same.
      	(access_functions_are_affine_or_constant_p): Same.
      	(get_references_in_stmt): Same.
      	(loop_nest_has_data_refs): Same.
      	(graphite_find_data_references_in_stmt): Same.
      	(find_data_references_in_bb): Same.
      	(get_base_for_alignment): Same.
      	(find_loop_nest_1): Same.
      	(find_loop_nest): Same.
      	* tree-data-ref.h (dr_alignment): Same.
      	(ddr_dependence_level): Same.
      	* tree-if-conv.c (fold_build_cond_expr): Same.
      	(add_to_predicate_list): Same.
      	(add_to_dst_predicate_list): Same.
      	(phi_convertible_by_degenerating_args): Same.
      	(idx_within_array_bound): Same.
      	(all_preds_critical_p): Same.
      	(pred_blocks_visited_p): Same.
      	(predicate_bbs): Same.
      	(build_region): Same.
      	(if_convertible_loop_p_1): Same.
      	(is_cond_scalar_reduction): Same.
      	(predicate_scalar_phi): Same.
      	(remove_conditions_and_labels): Same.
      	(combine_blocks): Same.
      	(version_loop_for_if_conversion): Same.
      	(versionable_outer_loop_p): Same.
      	(ifcvt_local_dce): Same.
      	(tree_if_conversion): Same.
      	(pass_if_conversion::gate): Same.
      	* tree-if-conv.h: Same.
      	* tree-inline.c (maybe_move_debug_stmts_to_successors): Same.
      	* tree-loop-distribution.c (bb_top_order_cmp): Same.
      	(free_rdg): Same.
      	(stmt_has_scalar_dependences_outside_loop): Same.
      	(copy_loop_before): Same.
      	(create_bb_after_loop): Same.
      	(const_with_all_bytes_same): Same.
      	(generate_memset_builtin): Same.
      	(generate_memcpy_builtin): Same.
      	(destroy_loop): Same.
      	(build_rdg_partition_for_vertex): Same.
      	(compute_access_range): Same.
      	(data_ref_segment_size): Same.
      	(latch_dominated_by_data_ref): Same.
      	(compute_alias_check_pairs): Same.
      	(fuse_memset_builtins): Same.
      	(finalize_partitions): Same.
      	(find_seed_stmts_for_distribution): Same.
      	(prepare_perfect_loop_nest): Same.
      	* tree-parloops.c (lambda_transform_legal_p): Same.
      	(loop_parallel_p): Same.
      	(reduc_stmt_res): Same.
      	(add_field_for_name): Same.
      	(create_call_for_reduction_1): Same.
      	(replace_uses_in_bb_by): Same.
      	(transform_to_exit_first_loop_alt): Same.
      	(try_transform_to_exit_first_loop_alt): Same.
      	(transform_to_exit_first_loop): Same.
      	(num_phis): Same.
      	(gen_parallel_loop): Same.
      	(gather_scalar_reductions): Same.
      	(get_omp_data_i_param): Same.
      	(try_create_reduction_list): Same.
      	(oacc_entry_exit_single_gang): Same.
      	(parallelize_loops): Same.
      	* tree-pass.h: Same.
      	* tree-predcom.c (determine_offset): Same.
      	(last_always_executed_block): Same.
      	(split_data_refs_to_components): Same.
      	(suitable_component_p): Same.
      	(valid_initializer_p): Same.
      	(find_looparound_phi): Same.
      	(insert_looparound_copy): Same.
      	(add_looparound_copies): Same.
      	(determine_roots_comp): Same.
      	(predcom_tmp_var): Same.
      	(initialize_root_vars): Same.
      	(initialize_root_vars_store_elim_1): Same.
      	(initialize_root_vars_store_elim_2): Same.
      	(finalize_eliminated_stores): Same.
      	(initialize_root_vars_lm): Same.
      	(remove_stmt): Same.
      	(determine_unroll_factor): Same.
      	(execute_pred_commoning_cbck): Same.
      	(base_names_in_chain_on): Same.
      	(combine_chains): Same.
      	(pcom_stmt_dominates_stmt_p): Same.
      	(try_combine_chains): Same.
      	(prepare_initializers_chain_store_elim): Same.
      	(prepare_initializers_chain): Same.
      	(prepare_initializers): Same.
      	(prepare_finalizers_chain): Same.
      	(prepare_finalizers): Same.
      	(insert_init_seqs): Same.
      	* tree-scalar-evolution.c (loop_phi_node_p): Same.
      	(compute_overall_effect_of_inner_loop): Same.
      	(add_to_evolution_1): Same.
      	(add_to_evolution): Same.
      	(follow_ssa_edge_binary): Same.
      	(follow_ssa_edge_expr): Same.
      	(backedge_phi_arg_p): Same.
      	(follow_ssa_edge_in_condition_phi_branch): Same.
      	(follow_ssa_edge_in_condition_phi): Same.
      	(follow_ssa_edge_inner_loop_phi): Same.
      	(follow_ssa_edge): Same.
      	(analyze_evolution_in_loop): Same.
      	(analyze_initial_condition): Same.
      	(interpret_loop_phi): Same.
      	(interpret_condition_phi): Same.
      	(interpret_rhs_expr): Same.
      	(interpret_expr): Same.
      	(interpret_gimple_assign): Same.
      	(analyze_scalar_evolution_1): Same.
      	(analyze_scalar_evolution): Same.
      	(analyze_scalar_evolution_for_address_of): Same.
      	(get_instantiated_value_entry): Same.
      	(loop_closed_phi_def): Same.
      	(instantiate_scev_name): Same.
      	(instantiate_scev_poly): Same.
      	(instantiate_scev_binary): Same.
      	(instantiate_scev_convert): Same.
      	(instantiate_scev_not): Same.
      	(instantiate_scev_r): Same.
      	(instantiate_scev): Same.
      	(resolve_mixers): Same.
      	(initialize_scalar_evolutions_analyzer): Same.
      	(scev_reset_htab): Same.
      	(scev_reset): Same.
      	(derive_simple_iv_with_niters): Same.
      	(simple_iv_with_niters): Same.
      	(expression_expensive_p): Same.
      	(final_value_replacement_loop): Same.
      	* tree-scalar-evolution.h (block_before_loop): Same.
      	* tree-ssa-address.h: Same.
      	* tree-ssa-dce.c (find_obviously_necessary_stmts): Same.
      	* tree-ssa-dom.c (edge_info::record_simple_equiv): Same.
      	(record_edge_info): Same.
      	* tree-ssa-live.c (var_map_base_fini): Same.
      	(remove_unused_locals): Same.
      	* tree-ssa-live.h: Same.
      	* tree-ssa-loop-ch.c (should_duplicate_loop_header_p): Same.
      	(pass_ch_vect::execute): Same.
      	(pass_ch::process_loop_p): Same.
      	* tree-ssa-loop-im.c (mem_ref_hasher::hash): Same.
      	(movement_possibility): Same.
      	(outermost_invariant_loop): Same.
      	(stmt_cost): Same.
      	(determine_max_movement): Same.
      	(invariantness_dom_walker::before_dom_children): Same.
      	(move_computations): Same.
      	(may_move_till): Same.
      	(force_move_till_op): Same.
      	(force_move_till): Same.
      	(memref_free): Same.
      	(record_mem_ref_loc): Same.
      	(set_ref_stored_in_loop): Same.
      	(mark_ref_stored): Same.
      	(sort_bbs_in_loop_postorder_cmp): Same.
      	(sort_locs_in_loop_postorder_cmp): Same.
      	(analyze_memory_references): Same.
      	(mem_refs_may_alias_p): Same.
      	(find_ref_loc_in_loop_cmp): Same.
      	(rewrite_mem_ref_loc::operator): Same.
      	(first_mem_ref_loc_1::operator): Same.
      	(sm_set_flag_if_changed::operator): Same.
      	(execute_sm_if_changed_flag_set): Same.
      	(execute_sm): Same.
      	(hoist_memory_references): Same.
      	(ref_always_accessed::operator): Same.
      	(refs_independent_p): Same.
      	(record_dep_loop): Same.
      	(ref_indep_loop_p_1): Same.
      	(ref_indep_loop_p): Same.
      	(can_sm_ref_p): Same.
      	(find_refs_for_sm): Same.
      	(loop_suitable_for_sm): Same.
      	(store_motion_loop): Same.
      	(store_motion): Same.
      	(fill_always_executed_in): Same.
      	* tree-ssa-loop-ivcanon.c (constant_after_peeling): Same.
      	(estimated_unrolled_size): Same.
      	(loop_edge_to_cancel): Same.
      	(remove_exits_and_undefined_stmts): Same.
      	(remove_redundant_iv_tests): Same.
      	(unloop_loops): Same.
      	(estimated_peeled_sequence_size): Same.
      	(try_peel_loop): Same.
      	(canonicalize_loop_induction_variables): Same.
      	(canonicalize_induction_variables): Same.
      	* tree-ssa-loop-ivopts.c (iv_inv_expr_hasher::equal): Same.
      	(name_info): Same.
      	(stmt_after_inc_pos): Same.
      	(contains_abnormal_ssa_name_p): Same.
      	(niter_for_exit): Same.
      	(find_bivs): Same.
      	(mark_bivs): Same.
      	(find_givs_in_bb): Same.
      	(find_induction_variables): Same.
      	(find_interesting_uses_cond): Same.
      	(outermost_invariant_loop_for_expr): Same.
      	(idx_find_step): Same.
      	(add_candidate_1): Same.
      	(add_iv_candidate_derived_from_uses): Same.
      	(alloc_use_cost_map): Same.
      	(prepare_decl_rtl): Same.
      	(generic_predict_doloop_p): Same.
      	(computation_cost): Same.
      	(determine_common_wider_type): Same.
      	(get_computation_aff_1): Same.
      	(get_use_type): Same.
      	(determine_group_iv_cost_address): Same.
      	(iv_period): Same.
      	(difference_cannot_overflow_p): Same.
      	(may_eliminate_iv): Same.
      	(determine_set_costs): Same.
      	(cheaper_cost_pair): Same.
      	(compare_cost_pair): Same.
      	(iv_ca_cand_for_group): Same.
      	(iv_ca_recount_cost): Same.
      	(iv_ca_set_remove_invs): Same.
      	(iv_ca_set_no_cp): Same.
      	(iv_ca_set_add_invs): Same.
      	(iv_ca_set_cp): Same.
      	(iv_ca_add_group): Same.
      	(iv_ca_cost): Same.
      	(iv_ca_compare_deps): Same.
      	(iv_ca_delta_reverse): Same.
      	(iv_ca_delta_commit): Same.
      	(iv_ca_cand_used_p): Same.
      	(iv_ca_delta_free): Same.
      	(iv_ca_new): Same.
      	(iv_ca_free): Same.
      	(iv_ca_dump): Same.
      	(iv_ca_extend): Same.
      	(iv_ca_narrow): Same.
      	(iv_ca_prune): Same.
      	(cheaper_cost_with_cand): Same.
      	(iv_ca_replace): Same.
      	(try_add_cand_for): Same.
      	(get_initial_solution): Same.
      	(try_improve_iv_set): Same.
      	(find_optimal_iv_set_1): Same.
      	(create_new_iv): Same.
      	(rewrite_use_compare): Same.
      	(remove_unused_ivs): Same.
      	(determine_scaling_factor): Same.
      	* tree-ssa-loop-ivopts.h: Same.
      	* tree-ssa-loop-manip.c (create_iv): Same.
      	(compute_live_loop_exits): Same.
      	(add_exit_phi): Same.
      	(add_exit_phis): Same.
      	(find_uses_to_rename_use): Same.
      	(find_uses_to_rename_def): Same.
      	(find_uses_to_rename_in_loop): Same.
      	(rewrite_into_loop_closed_ssa): Same.
      	(check_loop_closed_ssa_bb): Same.
      	(split_loop_exit_edge): Same.
      	(ip_end_pos): Same.
      	(ip_normal_pos): Same.
      	(copy_phi_node_args): Same.
      	(gimple_duplicate_loop_to_header_edge): Same.
      	(can_unroll_loop_p): Same.
      	(determine_exit_conditions): Same.
      	(scale_dominated_blocks_in_loop): Same.
      	(niter_for_unrolled_loop): Same.
      	(tree_transform_and_unroll_loop): Same.
      	(rewrite_all_phi_nodes_with_iv): Same.
      	* tree-ssa-loop-manip.h: Same.
      	* tree-ssa-loop-niter.c (number_of_iterations_ne_max): Same.
      	(number_of_iterations_ne): Same.
      	(assert_no_overflow_lt): Same.
      	(assert_loop_rolls_lt): Same.
      	(number_of_iterations_lt): Same.
      	(adjust_cond_for_loop_until_wrap): Same.
      	(tree_simplify_using_condition): Same.
      	(simplify_using_initial_conditions): Same.
      	(simplify_using_outer_evolutions): Same.
      	(loop_only_exit_p): Same.
      	(ssa_defined_by_minus_one_stmt_p): Same.
      	(number_of_iterations_popcount): Same.
      	(number_of_iterations_exit): Same.
      	(find_loop_niter): Same.
      	(finite_loop_p): Same.
      	(chain_of_csts_start): Same.
      	(get_val_for): Same.
      	(loop_niter_by_eval): Same.
      	(derive_constant_upper_bound_ops): Same.
      	(do_warn_aggressive_loop_optimizations): Same.
      	(record_estimate): Same.
      	(get_cst_init_from_scev): Same.
      	(record_nonwrapping_iv): Same.
      	(idx_infer_loop_bounds): Same.
      	(infer_loop_bounds_from_ref): Same.
      	(infer_loop_bounds_from_array): Same.
      	(infer_loop_bounds_from_pointer_arith): Same.
      	(infer_loop_bounds_from_signedness): Same.
      	(bound_index): Same.
      	(discover_iteration_bound_by_body_walk): Same.
      	(maybe_lower_iteration_bound): Same.
      	(estimate_numbers_of_iterations): Same.
      	(estimated_loop_iterations): Same.
      	(estimated_loop_iterations_int): Same.
      	(max_loop_iterations): Same.
      	(max_loop_iterations_int): Same.
      	(likely_max_loop_iterations): Same.
      	(likely_max_loop_iterations_int): Same.
      	(estimated_stmt_executions_int): Same.
      	(max_stmt_executions): Same.
      	(likely_max_stmt_executions): Same.
      	(estimated_stmt_executions): Same.
      	(stmt_dominates_stmt_p): Same.
      	(nowrap_type_p): Same.
      	(loop_exits_before_overflow): Same.
      	(scev_var_range_cant_overflow): Same.
      	(scev_probably_wraps_p): Same.
      	(free_numbers_of_iterations_estimates): Same.
      	* tree-ssa-loop-niter.h: Same.
      	* tree-ssa-loop-prefetch.c (release_mem_refs): Same.
      	(idx_analyze_ref): Same.
      	(analyze_ref): Same.
      	(gather_memory_references_ref): Same.
      	(mark_nontemporal_store): Same.
      	(emit_mfence_after_loop): Same.
      	(may_use_storent_in_loop_p): Same.
      	(mark_nontemporal_stores): Same.
      	(should_unroll_loop_p): Same.
      	(volume_of_dist_vector): Same.
      	(add_subscript_strides): Same.
      	(self_reuse_distance): Same.
      	(insn_to_prefetch_ratio_too_small_p): Same.
      	* tree-ssa-loop-split.c (split_at_bb_p): Same.
      	(patch_loop_exit): Same.
      	(find_or_create_guard_phi): Same.
      	(easy_exit_values): Same.
      	(connect_loop_phis): Same.
      	(connect_loops): Same.
      	(compute_new_first_bound): Same.
      	(split_loop): Same.
      	(tree_ssa_split_loops): Same.
      	* tree-ssa-loop-unswitch.c (tree_ssa_unswitch_loops): Same.
      	(is_maybe_undefined): Same.
      	(tree_may_unswitch_on): Same.
      	(simplify_using_entry_checks): Same.
      	(tree_unswitch_single_loop): Same.
      	(tree_unswitch_loop): Same.
      	(tree_unswitch_outer_loop): Same.
      	(empty_bb_without_guard_p): Same.
      	(used_outside_loop_p): Same.
      	(get_vop_from_header): Same.
      	(hoist_guard): Same.
      	* tree-ssa-loop.c (gate_oacc_kernels): Same.
      	(get_lsm_tmp_name): Same.
      	* tree-ssa-loop.h: Same.
      	* tree-ssa-reassoc.c (add_repeat_to_ops_vec): Same.
      	(build_and_add_sum): Same.
      	(no_side_effect_bb): Same.
      	(get_ops): Same.
      	(linearize_expr): Same.
      	(should_break_up_subtract): Same.
      	(linearize_expr_tree): Same.
      	* tree-ssa-scopedtables.c: Same.
      	* tree-ssa-scopedtables.h: Same.
      	* tree-ssa-structalias.c (condense_visit): Same.
      	(label_visit): Same.
      	(dump_pred_graph): Same.
      	(perform_var_substitution): Same.
      	(move_complex_constraints): Same.
      	(remove_preds_and_fake_succs): Same.
      	* tree-ssa-threadupdate.c (dbds_continue_enumeration_p): Same.
      	(determine_bb_domination_status): Same.
      	(duplicate_thread_path): Same.
      	(thread_through_all_blocks): Same.
      	* tree-ssa-threadupdate.h: Same.
      	* tree-streamer-in.c (streamer_read_string_cst): Same.
      	(input_identifier): Same.
      	(unpack_ts_type_common_value_fields): Same.
      	(unpack_ts_block_value_fields): Same.
      	(unpack_ts_translation_unit_decl_value_fields): Same.
      	(unpack_ts_omp_clause_value_fields): Same.
      	(streamer_read_tree_bitfields): Same.
      	(streamer_alloc_tree): Same.
      	(lto_input_ts_common_tree_pointers): Same.
      	(lto_input_ts_vector_tree_pointers): Same.
      	(lto_input_ts_poly_tree_pointers): Same.
      	(lto_input_ts_complex_tree_pointers): Same.
      	(lto_input_ts_decl_minimal_tree_pointers): Same.
      	(lto_input_ts_decl_common_tree_pointers): Same.
      	(lto_input_ts_decl_non_common_tree_pointers): Same.
      	(lto_input_ts_decl_with_vis_tree_pointers): Same.
      	(lto_input_ts_field_decl_tree_pointers): Same.
      	(lto_input_ts_function_decl_tree_pointers): Same.
      	(lto_input_ts_type_common_tree_pointers): Same.
      	(lto_input_ts_type_non_common_tree_pointers): Same.
      	(lto_input_ts_list_tree_pointers): Same.
      	(lto_input_ts_vec_tree_pointers): Same.
      	(lto_input_ts_exp_tree_pointers): Same.
      	(lto_input_ts_block_tree_pointers): Same.
      	(lto_input_ts_binfo_tree_pointers): Same.
      	(lto_input_ts_constructor_tree_pointers): Same.
      	(lto_input_ts_omp_clause_tree_pointers): Same.
      	(streamer_read_tree_body): Same.
      	* tree-streamer.h: Same.
      	* tree-switch-conversion.c (bit_test_cluster::is_beneficial): Same.
      	* tree-vect-data-refs.c (vect_get_smallest_scalar_type): Same.
      	(vect_analyze_possibly_independent_ddr): Same.
      	(vect_analyze_data_ref_dependence): Same.
      	(vect_compute_data_ref_alignment): Same.
      	(vect_enhance_data_refs_alignment): Same.
      	(vect_analyze_data_ref_access): Same.
      	(vect_check_gather_scatter): Same.
      	(vect_find_stmt_data_reference): Same.
      	(vect_create_addr_base_for_vector_ref): Same.
      	(vect_setup_realignment): Same.
      	(vect_supportable_dr_alignment): Same.
      	* tree-vect-loop-manip.c (rename_variables_in_bb): Same.
      	(adjust_phi_and_debug_stmts): Same.
      	(vect_set_loop_mask): Same.
      	(add_preheader_seq): Same.
      	(vect_maybe_permute_loop_masks): Same.
      	(vect_set_loop_masks_directly): Same.
      	(vect_set_loop_condition_masked): Same.
      	(vect_set_loop_condition_unmasked): Same.
      	(slpeel_duplicate_current_defs_from_edges): Same.
      	(slpeel_add_loop_guard): Same.
      	(slpeel_can_duplicate_loop_p): Same.
      	(create_lcssa_for_virtual_phi): Same.
      	(iv_phi_p): Same.
      	(vect_update_ivs_after_vectorizer): Same.
      	(vect_gen_vector_loop_niters_mult_vf): Same.
      	(slpeel_update_phi_nodes_for_loops): Same.
      	(slpeel_update_phi_nodes_for_guard1): Same.
      	(find_guard_arg): Same.
      	(slpeel_update_phi_nodes_for_guard2): Same.
      	(slpeel_update_phi_nodes_for_lcssa): Same.
      	(vect_do_peeling): Same.
      	(vect_create_cond_for_alias_checks): Same.
      	(vect_loop_versioning): Same.
      	* tree-vect-loop.c (vect_determine_vf_for_stmt): Same.
      	(vect_inner_phi_in_double_reduction_p): Same.
      	(vect_analyze_scalar_cycles_1): Same.
      	(vect_fixup_scalar_cycles_with_patterns): Same.
      	(vect_get_loop_niters): Same.
      	(bb_in_loop_p): Same.
      	(vect_get_max_nscalars_per_iter): Same.
      	(vect_verify_full_masking): Same.
      	(vect_compute_single_scalar_iteration_cost): Same.
      	(vect_analyze_loop_form_1): Same.
      	(vect_analyze_loop_form): Same.
      	(vect_active_double_reduction_p): Same.
      	(vect_analyze_loop_operations): Same.
      	(neutral_op_for_slp_reduction): Same.
      	(vect_is_simple_reduction): Same.
      	(vect_model_reduction_cost): Same.
      	(get_initial_def_for_reduction): Same.
      	(get_initial_defs_for_reduction): Same.
      	(vect_create_epilog_for_reduction): Same.
      	(vectorize_fold_left_reduction): Same.
      	(vectorizable_reduction): Same.
      	(vectorizable_induction): Same.
      	(vectorizable_live_operation): Same.
      	(loop_niters_no_overflow): Same.
      	(vect_get_loop_mask): Same.
      	(vect_transform_loop_stmt): Same.
      	(vect_transform_loop): Same.
      	* tree-vect-patterns.c (vect_reassociating_reduction_p): Same.
      	(vect_determine_precisions): Same.
      	(vect_pattern_recog_1): Same.
      	* tree-vect-slp.c (vect_analyze_slp_instance): Same.
      	* tree-vect-stmts.c (stmt_vectype): Same.
      	(process_use): Same.
      	(vect_init_vector_1): Same.
      	(vect_truncate_gather_scatter_offset): Same.
      	(get_group_load_store_type): Same.
      	(vect_build_gather_load_calls): Same.
      	(vect_get_strided_load_store_ops): Same.
      	(vectorizable_simd_clone_call): Same.
      	(vectorizable_store): Same.
      	(permute_vec_elements): Same.
      	(vectorizable_load): Same.
      	(vect_transform_stmt): Same.
      	(supportable_widening_operation): Same.
      	* tree-vectorizer.c (vec_info::replace_stmt): Same.
      	(vec_info::free_stmt_vec_info): Same.
      	(vect_free_loop_info_assumptions): Same.
      	(vect_loop_vectorized_call): Same.
      	(set_uid_loop_bbs): Same.
      	(vectorize_loops): Same.
      	* tree-vectorizer.h (STMT_VINFO_BB_VINFO): Same.
      	* tree.c (add_tree_to_fld_list): Same.
      	(fld_type_variant_equal_p): Same.
      	(fld_decl_context): Same.
      	(fld_incomplete_type_of): Same.
      	(free_lang_data_in_binfo): Same.
      	(need_assembler_name_p): Same.
      	(find_decls_types_r): Same.
      	(get_eh_types_for_runtime): Same.
      	(find_decls_types_in_eh_region): Same.
      	(find_decls_types_in_node): Same.
      	(assign_assembler_name_if_needed): Same.
      	* value-prof.c (stream_out_histogram_value): Same.
      	* value-prof.h: Same.
      	* var-tracking.c (use_narrower_mode): Same.
      	(prepare_call_arguments): Same.
      	(vt_expand_loc_callback): Same.
      	(resolve_expansions_pending_recursion): Same.
      	(vt_expand_loc): Same.
      	* varasm.c (const_hash_1): Same.
      	(compare_constant): Same.
      	(tree_output_constant_def): Same.
      	(simplify_subtraction): Same.
      	(get_pool_constant): Same.
      	(output_constant_pool_2): Same.
      	(output_constant_pool_1): Same.
      	(mark_constants_in_pattern): Same.
      	(mark_constant_pool): Same.
      	(get_section_anchor): Same.
      	* vr-values.c (compare_range_with_value): Same.
      	(vr_values::extract_range_from_phi_node): Same.
      	* vr-values.h: Same.
      	* web.c (unionfind_union): Same.
      	* wide-int.h: Same.
      
      From-SVN: r273311
      Martin Sebor committed
  12. 10 Jun, 2019 1 commit
    • IPA ICF: enhance dump about items in a non-singular class. · 07b8d0af
      2019-06-10  Martin Liska  <mliska@suse.cz>
      
      	* ipa-icf.c (sem_item_optimizer::parse_nonsingleton_classes):
      	Update coding style.
      	(sem_item_optimizer::dump_cong_classes):
      	Print how many items are in a non-singular class.  Improve
      	coding style.
      2019-06-10  Martin Liska  <mliska@suse.cz>
      
      	* gcc.dg/ipa/pr68035.c: Update scanned pattern.
      
      From-SVN: r272111
      Martin Liska committed
  13. 06 Jun, 2019 1 commit
    • IPA ICF: enhance dump output · ee137b40
      2019-06-06  Martin Liska  <mliska@suse.cz>
      
      	* ipa-icf-gimple.h (dump_message_1): Remove.
      	(dump_message): Likewise.
      	(return_false_with_message_1): Print also file.
      	(return_false_with_msg): Likewise.
      	(return_with_result): Likewise.
      	(return_with_debug): Likewise.
      	* ipa-icf.c (sem_function::equals_private): Remove call
      	to dump_message.
      
      From-SVN: r271987
      Martin Liska committed
  14. 04 Jun, 2019 3 commits
    • Remove dead code in IPA ICF. · c790e3ec
      2019-06-04  Martin Liska  <mliska@suse.cz>
      
      	* ipa-icf.c (INCLUDE_LIST): Remove.
      	(sem_item_optimizer::execute): Remove call to init_wpa.
      	* ipa-icf.h (init_wpa): Remove.
      
      From-SVN: r271908
      Martin Liska committed
    • IPA ICF: use fibonacci heap instead of list as a worklist. · c3af5442
      2019-06-04  Martin Liska  <mliska@suse.cz>
      
      	* ipa-icf.c (sem_item_optimizer::add_item_to_class): Count
      	number of references.
      	(sem_item_optimizer::do_congruence_step):
      	(sem_item_optimizer::worklist_push): Dump how references
      	a class has.
      	(sem_item_optimizer::worklist_pop): Use heap.
      	(sem_item_optimizer::process_cong_reduction): Likewise.
      	* ipa-icf.h: Use fibonacci_heap insteam of std::list.
      
      From-SVN: r271901
      Martin Liska committed
    • IPA ICF: rewrite references into a hash_map. · a9fae4b4
      2019-06-04  Martin Liska  <mliska@suse.cz>
      
      	* ipa-icf.h (struct sem_usage_pair_hash): New.
      	(sem_usage_pair_hash::hash): Likewise.
      	(sem_usage_pair_hash::equal): Likewise.
      	(struct sem_usage_hash): Likewise.
      	* ipa-icf.c (sem_item::sem_item): Initialize
      	referenced_by_count.
      	(sem_item::add_reference): Register a reference
      	in ref_map and not in target->usages.
      	(sem_item::setup): Remove initialization of
      	dead vectors.
      	(sem_item::~sem_item): Remove usage of dead vectors.
      	(sem_item::dump): Remove dump of references.
      	(sem_item_optimizer::sem_item_optimizer): Initialize
      	m_references.
      	(sem_item_optimizer::read_section): Remove useless
      	dump.
      	(sem_item_optimizer::parse_funcs_and_vars): Likewise here.
      	(sem_item_optimizer::build_graph): Pass m_references
      	to ::add_reference.
      	(sem_item_optimizer::verify_classes): Remove usage of dead
      	vectors.
      	(sem_item_optimizer::traverse_congruence_split): Return true
      	when a class is split.
      	(sem_item_optimizer::do_congruence_step_for_index): Use
      	hash_map for look up of (sem_item *, index). That brings
      	significant speed up.
      	(sem_item_optimizer::do_congruence_step): Return true
      	when a split is done.
      	(congruence_class::is_class_used): Use referenced_by_count.
      2019-06-04  Martin Liska  <mliska@suse.cz>
      
      	* c-c++-common/goacc/acc-icf.c: Change scanned pattern.
      	* gfortran.dg/goacc/pr78027.f90: Likewise.
      
      From-SVN: r271900
      Martin Liska committed
  15. 03 May, 2019 1 commit
    • Come up with is_empty for hash_{table,map,set}. · b119c055
      2019-05-03  Martin Liska  <mliska@suse.cz>
      
      	* hash-map.h: Add is_empty function.
      	* hash-set.h: Likewise.
      	* hash-table.h: Likewise.
      	* dwarf2out.c (dwarf2out_finish): Use is_empty instead of
      	elements () == 0 (and similar usages).
      	* gimple-ssa-store-merging.c (pass_store_merging::terminate_and_process_all_chains): Likewise.
      	* gimplify.c (gimplify_bind_expr): Likewise.
      	(gimplify_switch_expr): Likewise.
      	* hash-map-tests.c (test_map_of_strings_to_int): Likewise.
      	* ipa-icf.c (sem_item_optimizer::remove_symtab_node): Likewise.
      	* postreload-gcse.c (dump_hash_table): Likewise.
      	(gcse_after_reload_main): Likewise.
      	* predict.c (combine_predictions_for_bb): Likewise.
      	* tree-parloops.c (reduction_phi): Likewise.
      	(separate_decls_in_region): Likewise.
      	(transform_to_exit_first_loop): Likewise.
      	(gen_parallel_loop): Likewise.
      	(gather_scalar_reductions): Likewise.
      	(try_create_reduction_list): Likewise.
      	* var-tracking.c (dump_vars): Likewise.
      	(emit_notes_for_changes): Likewise.
      	(vt_emit_notes): Likewise.
      2019-05-03  Martin Liska  <mliska@suse.cz>
      
      	* call.c (build_aggr_conv): Use is_empty instead of
      	elements () == 0 (and similar usages).
      	* parser.c (cp_parser_lambda_introducer): Likewise.
      
      From-SVN: r270851
      Martin Liska committed
  16. 13 Feb, 2019 1 commit
    • Clean up MPX-related stuff. · dbcdd561
      2019-02-13  Martin Liska  <mliska@suse.cz>
      
      	* builtins.h (expand_builtin_with_bounds): Remove declaration.
      	* calls.c (struct arg_data): Remove special_slot, pointer_arg
      	and pointer_offset fields.
      	(initialize_argument_information): Remove usage of dead
      	fields.
      	* cgraph.h (struct cgraph_thunk_info): Remove
      	add_pointer_bounds_args.
      	* cgraphunit.c (cgraph_node::expand_thunk): Remove usage of dead
      	fields.
      	(cgraph_node::assemble_thunks_and_aliases): Remove usage of dead
      	fields.
      	* config/i386/i386.c (ix86_function_arg_advance): Remove
      	unrelated comment.
      	(struct builtin_isa): Remove leaf_p and nothrow_p fields.
      	(def_builtin):  Remove usage of dead
      	fields.
      	(ix86_add_new_builtins): Likewise.
      	* ipa-fnsummary.c (compute_fn_summary): Likewise.
      	* ipa-icf.c (sem_function::equals_wpa): Likewise.
      	(sem_function::init): Likewise.
      	(sem_variable::merge): Likewise.
      	* ipa-visibility.c (function_and_variable_visibility): Likewise.
      	* ipa.c (symbol_table::remove_unreachable_nodes): Likewise.
      	* lto-cgraph.c (lto_output_node): Likewise.
      	(lto_output_varpool_node): Likewise.
      	(input_node): Likewise.
      	(input_varpool_node): Likewise.
      	* lto-streamer-out.c (lto_output): Likewise.
      	* tree-inline.c (expand_call_inline): Remove usage of
      	assign_stmts.
      	* tree-inline.h (struct copy_body_data): Likewise.
      	* varpool.c (varpool_node::dump): Likewise.
      
      From-SVN: r268844
      Martin Liska committed
  17. 09 Jan, 2019 2 commits
    • PR other/16615 [4/5] · 155ed511
      2019-01-09  Sandra Loosemore  <sandra@codesourcery.com>
      
      	PR other/16615 [4/5]
      
      	gcc/
      	* config/pa/pa.c: Change "can not" to "cannot".
      	* gimple-ssa-evrp-analyze.c: Likewise.
      	* ipa-icf.c: Likewise.
      	* ipa-polymorphic-call.c: Likewise.
      	* ipa-pure-const.c: Likewise.
      	* lra-constraints.c: Likewise.
      	* lra-remat.c: Likewise.
      	* reload1.c: Likewise.
      	* reorg.c: Likewise.
      	* tree-ssa-uninit.c: Likewise.
      
      	gcc/ada/
      	* exp_ch11.adb: Change "can not" to "cannot".
      	* sem_ch4.adb: Likewise.
      
      	gcc/fortran/
      	* expr.c: Change "can not" to "cannot".
      
      	libobjc/
      	* objc/runtime.h: Change "can not" to "cannot".
      
      From-SVN: r267786
      Sandra Loosemore committed
    • PR other/16615 [1/5] · 67914693
      2019-01-09  Sandra Loosemore  <sandra@codesourcery.com>
      
      	PR other/16615 [1/5]
      
      	contrib/
      	* mklog: Mechanically replace "can not" with "cannot".
      
      	gcc/
      	* Makefile.in: Mechanically replace "can not" with "cannot".
      	* alias.c: Likewise.
      	* builtins.c: Likewise.
      	* calls.c: Likewise.
      	* cgraph.c: Likewise.
      	* cgraph.h: Likewise.
      	* cgraphclones.c: Likewise.
      	* cgraphunit.c: Likewise.
      	* combine-stack-adj.c: Likewise.
      	* combine.c: Likewise.
      	* common/config/i386/i386-common.c: Likewise.
      	* config/aarch64/aarch64.c: Likewise.
      	* config/alpha/sync.md: Likewise.
      	* config/arc/arc.c: Likewise.
      	* config/arc/predicates.md: Likewise.
      	* config/arm/arm-c.c: Likewise.
      	* config/arm/arm.c: Likewise.
      	* config/arm/arm.h: Likewise.
      	* config/arm/arm.md: Likewise.
      	* config/arm/cortex-r4f.md: Likewise.
      	* config/csky/csky.c: Likewise.
      	* config/csky/csky.h: Likewise.
      	* config/darwin-f.c: Likewise.
      	* config/epiphany/epiphany.md: Likewise.
      	* config/i386/i386.c: Likewise.
      	* config/i386/sol2.h: Likewise.
      	* config/m68k/m68k.c: Likewise.
      	* config/mcore/mcore.h: Likewise.
      	* config/microblaze/microblaze.md: Likewise.
      	* config/mips/20kc.md: Likewise.
      	* config/mips/sb1.md: Likewise.
      	* config/nds32/nds32.c: Likewise.
      	* config/nds32/predicates.md: Likewise.
      	* config/pa/pa.c: Likewise.
      	* config/rs6000/e300c2c3.md: Likewise.
      	* config/rs6000/rs6000.c: Likewise.
      	* config/s390/s390.h: Likewise.
      	* config/sh/sh.c: Likewise.
      	* config/sh/sh.md: Likewise.
      	* config/spu/vmx2spu.h: Likewise.
      	* cprop.c: Likewise.
      	* dbxout.c: Likewise.
      	* df-scan.c: Likewise.
      	* doc/cfg.texi: Likewise.
      	* doc/extend.texi: Likewise.
      	* doc/fragments.texi: Likewise.
      	* doc/gty.texi: Likewise.
      	* doc/invoke.texi: Likewise.
      	* doc/lto.texi: Likewise.
      	* doc/md.texi: Likewise.
      	* doc/objc.texi: Likewise.
      	* doc/rtl.texi: Likewise.
      	* doc/tm.texi: Likewise.
      	* dse.c: Likewise.
      	* emit-rtl.c: Likewise.
      	* emit-rtl.h: Likewise.
      	* except.c: Likewise.
      	* expmed.c: Likewise.
      	* expr.c: Likewise.
      	* fold-const.c: Likewise.
      	* genautomata.c: Likewise.
      	* gimple-fold.c: Likewise.
      	* hard-reg-set.h: Likewise.
      	* ifcvt.c: Likewise.
      	* ipa-comdats.c: Likewise.
      	* ipa-cp.c: Likewise.
      	* ipa-devirt.c: Likewise.
      	* ipa-fnsummary.c: Likewise.
      	* ipa-icf.c: Likewise.
      	* ipa-inline-transform.c: Likewise.
      	* ipa-inline.c: Likewise.
      	* ipa-polymorphic-call.c: Likewise.
      	* ipa-profile.c: Likewise.
      	* ipa-prop.c: Likewise.
      	* ipa-pure-const.c: Likewise.
      	* ipa-reference.c: Likewise.
      	* ipa-split.c: Likewise.
      	* ipa-visibility.c: Likewise.
      	* ipa.c: Likewise.
      	* ira-build.c: Likewise.
      	* ira-color.c: Likewise.
      	* ira-conflicts.c: Likewise.
      	* ira-costs.c: Likewise.
      	* ira-int.h: Likewise.
      	* ira-lives.c: Likewise.
      	* ira.c: Likewise.
      	* ira.h: Likewise.
      	* loop-invariant.c: Likewise.
      	* loop-unroll.c: Likewise.
      	* lower-subreg.c: Likewise.
      	* lra-assigns.c: Likewise.
      	* lra-constraints.c: Likewise.
      	* lra-eliminations.c: Likewise.
      	* lra-lives.c: Likewise.
      	* lra-remat.c: Likewise.
      	* lra-spills.c: Likewise.
      	* lra.c: Likewise.
      	* lto-cgraph.c: Likewise.
      	* lto-streamer-out.c: Likewise.
      	* postreload-gcse.c: Likewise.
      	* predict.c: Likewise.
      	* profile-count.h: Likewise.
      	* profile.c: Likewise.
      	* recog.c: Likewise.
      	* ree.c: Likewise.
      	* reload.c: Likewise.
      	* reload1.c: Likewise.
      	* reorg.c: Likewise.
      	* resource.c: Likewise.
      	* rtl.def: Likewise.
      	* rtl.h: Likewise.
      	* rtlanal.c: Likewise.
      	* sched-deps.c: Likewise.
      	* sched-ebb.c: Likewise.
      	* sched-rgn.c: Likewise.
      	* sel-sched-ir.c: Likewise.
      	* sel-sched.c: Likewise.
      	* shrink-wrap.c: Likewise.
      	* simplify-rtx.c: Likewise.
      	* symtab.c: Likewise.
      	* target.def: Likewise.
      	* toplev.c: Likewise.
      	* tree-call-cdce.c: Likewise.
      	* tree-cfg.c: Likewise.
      	* tree-complex.c: Likewise.
      	* tree-core.h: Likewise.
      	* tree-eh.c: Likewise.
      	* tree-inline.c: Likewise.
      	* tree-loop-distribution.c: Likewise.
      	* tree-nrv.c: Likewise.
      	* tree-profile.c: Likewise.
      	* tree-sra.c: Likewise.
      	* tree-ssa-alias.c: Likewise.
      	* tree-ssa-dce.c: Likewise.
      	* tree-ssa-dom.c: Likewise.
      	* tree-ssa-forwprop.c: Likewise.
      	* tree-ssa-loop-im.c: Likewise.
      	* tree-ssa-loop-ivcanon.c: Likewise.
      	* tree-ssa-loop-ivopts.c: Likewise.
      	* tree-ssa-loop-niter.c: Likewise.
      	* tree-ssa-phionlycprop.c: Likewise.
      	* tree-ssa-phiopt.c: Likewise.
      	* tree-ssa-propagate.c: Likewise.
      	* tree-ssa-threadedge.c: Likewise.
      	* tree-ssa-threadupdate.c: Likewise.
      	* tree-ssa-uninit.c: Likewise.
      	* tree-ssanames.c: Likewise.
      	* tree-streamer-out.c: Likewise.
      	* tree.c: Likewise.
      	* tree.h: Likewise.
      	* vr-values.c: Likewise.
      
      	gcc/ada/
      	* exp_ch9.adb: Mechanically replace "can not" with "cannot".
      	* libgnat/s-regpat.ads: Likewise.
      	* par-ch4.adb: Likewise.
      	* set_targ.adb: Likewise.
      	* types.ads: Likewise.
      
      	gcc/cp/
      	* cp-tree.h: Mechanically replace "can not" with "cannot".
      	* parser.c: Likewise.
      	* pt.c: Likewise.
      
      	gcc/fortran/
      	* class.c: Mechanically replace "can not" with "cannot".
      	* decl.c: Likewise.
      	* expr.c: Likewise.
      	* gfc-internals.texi: Likewise.
      	* intrinsic.texi: Likewise.
      	* invoke.texi: Likewise.
      	* io.c: Likewise.
      	* match.c: Likewise.
      	* parse.c: Likewise.
      	* primary.c: Likewise.
      	* resolve.c: Likewise.
      	* symbol.c: Likewise.
      	* trans-array.c: Likewise.
      	* trans-decl.c: Likewise.
      	* trans-intrinsic.c: Likewise.
      	* trans-stmt.c: Likewise.
      
      	gcc/go/
      	* go-backend.c: Mechanically replace "can not" with "cannot".
      	* go-gcc.cc: Likewise.
      
      	gcc/lto/
      	* lto-partition.c: Mechanically replace "can not" with "cannot".
      	* lto-symtab.c: Likewise.
      	* lto.c: Likewise.
      
      	gcc/objc/
      	* objc-act.c: Mechanically replace "can not" with "cannot".
      
      	libbacktrace/
      	* backtrace.h: Mechanically replace "can not" with "cannot".
      
      	libgcc/
      	* config/c6x/libunwind.S: Mechanically replace "can not" with
      	"cannot".
      	* config/tilepro/atomic.h: Likewise.
      	* config/vxlib-tls.c: Likewise.
      	* generic-morestack-thread.c: Likewise.
      	* generic-morestack.c: Likewise.
      	* mkmap-symver.awk: Likewise.
      
      	libgfortran/
      	* caf/single.c: Mechanically replace "can not" with "cannot".
      	* io/unit.c: Likewise.
      
      	libobjc/
      	* class.c: Mechanically replace "can not" with "cannot".
      	* objc/runtime.h: Likewise.
      	* sendmsg.c: Likewise.
      
      	liboffloadmic/
      	* include/coi/common/COIResult_common.h: Mechanically replace
      	"can not" with "cannot".
      	* include/coi/source/COIBuffer_source.h: Likewise.
      
      	libstdc++-v3/
      	* include/ext/bitmap_allocator.h: Mechanically replace "can not"
      	with "cannot".
      
      From-SVN: r267783
      Sandra Loosemore committed
  18. 02 Jan, 2019 1 commit
    • re PR lto/85574 (LTO bootstapped binaries differ) · 9e1f4e00
      2019-01-02  Richard Biener  <rguenther@suse.de>
      
      	PR ipa/85574
      	* ipa-icf.h (sem_item_optimizer::sort_congruence_split): Declare.
      	* ipa-icf.c (sem_item_optimizer::sort_congruence_split): New
      	function.
      	(sem_item_optimizer::do_congruence_step_f): Sort the congruence
      	set after UIDs before splitting them.
      
      From-SVN: r267506
      Richard Biener committed
  19. 01 Jan, 2019 1 commit
  20. 22 Oct, 2018 1 commit
    • Simplify comparison of attrs in IPA ICF. · 14762cd0
      2018-10-22  Martin Liska  <mliska@suse.cz>
      
      	* ipa-icf.c (sem_item::compare_attributes): Remove.
      	(sem_item::compare_referenced_symbol_properties): Use
      	attribute_list_equal instead.
      	(sem_function::equals_wpa): Likewise.
      	* ipa-icf.h: Remove compare_attributes.
      
      From-SVN: r265386
      Martin Liska committed
  21. 28 Sep, 2018 1 commit
    • calls.c (expand_call): Try to do a tail call for thunks at -O0 too. · 44662f68
      	* calls.c (expand_call): Try to do a tail call for thunks at -O0 too.
      	* cgraph.h (struct cgraph_thunk_info): Add indirect_offset.
      	(cgraph_node::create_thunk): Add indirect_offset parameter.
      	(thunk_adjust): Likewise.
      	* cgraph.c (cgraph_node::create_thunk): Add indirect_offset parameter
      	and initialize the corresponding field with it.
      	(cgraph_node::dump): Dump indirect_offset field.
      	* cgraphclones.c (duplicate_thunk_for_node): Deal with indirect_offset.
      	* cgraphunit.c (cgraph_node::analyze): Be prepared for external thunks.
      	(thunk_adjust): Add indirect_offset parameter and deal with it.
      	(cgraph_node::expand_thunk): Deal with the indirect_offset field and
      	pass it to thunk_adjust.  Do not call the target hook if it's non-zero
      	or if the thunk is external or local.  Fix formatting.  Do not chain
      	the RESULT_DECL to BLOCK_VARS.  Pass the static chain to the target,
      	if any, in the GIMPLE representation.
      	* ipa-icf.c (sem_function::equals_wpa): Deal with indirect_offset.
      	* lto-cgraph.c (lto_output_node): Write indirect_offset field.
      	(input_node): Read indirect_offset field.
      	* tree-inline.c (expand_call_inline): Pass indirect_offset field in the
      	call to thunk_adjust.
      	* tree-nested.c (struct nesting_info): Add thunk_p field.
      	(create_nesting_tree): Set it.
      	(convert_all_function_calls): Copy static chain from targets to thunks.
      	(finalize_nesting_tree_1): Return early for thunks.
      	(unnest_nesting_tree_1): Do not finalize thunks.
      	(gimplify_all_functions): Do not gimplify thunks.
      cp/
      	* method.c (use_thunk): Adjust call to cgraph_node::create_thunk.
      ada/
      	* gcc-interface/decl.c (is_cplusplus_method): Do not require C++
      	convention on Interfaces.
      	* gcc-interface/trans.c (Subprogram_Body_to_gnu): Try to create a
      	bona-fide thunk and hand it over to the middle-end.
      	(get_controlling_type): New function.
      	(use_alias_for_thunk_p): Likewise.
      	(thunk_labelno): New static variable.
      	(make_covariant_thunk): New function.
      	(maybe_make_gnu_thunk): Likewise.
      	* gcc-interface/utils.c (finish_subprog_decl): Set DECL_CONTEXT of the
      	result DECL here instead of...
      	(end_subprog_body): ...here.
      
      Co-Authored-By: Pierre-Marie de Rodat <derodat@adacore.com>
      
      From-SVN: r264701
      Eric Botcazou committed
  22. 31 Aug, 2018 1 commit
  23. 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
  24. 19 Jun, 2018 1 commit
    • 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
  25. 08 Jun, 2018 2 commits
    • 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
  26. 30 May, 2018 1 commit
    • Use poly_int tree accessors · 6e246559
      This patch generalises various places that used hwi tree accessors so
      that they can handle poly_ints instead.  In many cases these changes
      are by inspection rather than because something had shown them to be
      necessary.
      
      I think the alias.c part is a minor bug fix: previously we used
      fits_uhwi_p for a signed HOST_WIDE_INT (which the caller does
      treat as signed rather than unsigned).  We also checked whether
      each individual offset overflowed but didn't check whether the
      sum did.
      
      2018-05-30  Richard Sandiford  <richard.sandiford@linaro.org>
      
      gcc/
      	* alias.c (adjust_offset_for_component_ref): Use poly_int_tree_p
      	and wi::to_poly_offset.  Add the current offset and then check
      	whether the sum fits, rather than using an unchecked addition of
      	a checked term.  Check for a shwi rather than a uhwi.
      	* expr.c (get_bit_range): Use tree_to_poly_uint64.
      	(store_constructor): Use poly_int_tree_p.
      	(expand_expr_real_1): Likewise.
      	* function.c (assign_temp): Likewise.
      	* fold-const.c (const_binop): Use poly_int_tree_p and
      	wi::to_poly_offset.
      	(fold_indirect_ref_1): Likewise.  Use multiple_p to attempt an exact
      	division.
      	* ipa-icf-gimple.c (func_checker::compare_operand): Use
      	to_poly_offset for MEM offsets.
      	* ipa-icf.c (sem_variable::equals): Likewise.
      	* stor-layout.c (compute_record_mode): Use poly_int_tree_p.
      	* tree-ssa-sccvn.c (ao_ref_init_from_vn_reference): Use
      	wi::to_poly_offset for BIT_FIELD_REF offsets.
      	(vn_reference_maybe_forwprop_address): Use poly_int_tree_p and
      	wi::to_poly_offset.
      	* var-tracking.c (emit_note_insn_var_location): Use
      	tree_to_poly_uint64.
      
      From-SVN: r260914
      Richard Sandiford committed
  27. 22 May, 2018 1 commit
  28. 21 Mar, 2018 1 commit
  29. 13 Mar, 2018 1 commit
    • Fix PTA info in IPA ICF (PR ipa/84658). · 0dbacfcf
      2018-03-13  Martin Liska  <mliska@suse.cz>
      
      	PR ipa/84658.
      	* (sem_item_optimizer::sem_item_optimizer): Initialize new
      	vector.
      	(sem_item_optimizer::~sem_item_optimizer): Release it.
      	(sem_item_optimizer::merge_classes): Register variable aliases.
      	(sem_item_optimizer::fixup_pt_set): New function.
      	(sem_item_optimizer::fixup_points_to_sets): Likewise.
      	* ipa-icf.h: Declare new variables and functions.
      2018-03-13  Martin Liska  <mliska@suse.cz>
      
      	PR ipa/84658.
      	* g++.dg/ipa/pr84658.C: New test.
      
      From-SVN: r258480
      Martin Liska committed
  30. 04 Jan, 2018 1 commit