1. 17 May, 2019 1 commit
    • trans.c (check_inlining_for_nested_subprog): Quote reserved names. · a9c697b8
      gcc/ada/ChangeLog:
      
              * gcc-interface/trans.c (check_inlining_for_nested_subprog): Quote
              reserved names.
      
      gcc/brig/ChangeLog:
      
              * brigfrontend/brig-control-handler.cc
              (brig_directive_control_handler::operator): Remove trailing newline
              from a diagnostic.
              * brigfrontend/brig-module-handler.cc
              (brig_directive_module_handler::operator): Remove a duplicated space
              from a diagnostic.
      
      gcc/c/ChangeLog:
      
              * c-decl.c (start_decl): Quote keywords, operators, and
              types in diagnostics.
              (finish_decl): Same.
              * c-parser.c (c_parser_asm_statement): Same.
              (c_parser_conditional_expression): Same.
              (c_parser_transaction_cancel): Same.
              * c-typeck.c (c_common_type): Same.
              (build_conditional_expr): Same.
              (digest_init): Same.
              (process_init_element): Same.
              (build_binary_op): Same.
      
      gcc/c-family/ChangeLog:
      
              * c-attribs.c (handle_no_sanitize_attribute): Quote identifiers,
              keywords, operators, and types in diagnostics.
              (handle_scalar_storage_order_attribute): Same.
              (handle_mode_attribute): Same.
              (handle_visibility_attribute): Same.
              (handle_assume_aligned_attribute): Same.
              (handle_no_split_stack_attribute): Same.
              * c-common.c (shorten_compare): Same.
              (c_common_truthvalue_conversion): Same.
              (cb_get_source_date_epoch): Same.
              * c-lex.c (cb_def_pragma): Quote keywords, operators, and types
              in diagnostics.
              (interpret_float): Same.
              * c-omp.c (c_finish_omp_for): Same.
              * c-opts.c (c_common_post_options): Same.
              * c-pch.c (c_common_pch_pragma): Same.
              * c-pragma.c (pop_alignment): Same.
              (handle_pragma_pack): Same.
              (apply_pragma_weak): Same.
              (handle_pragma_weak): Same.
              (handle_pragma_scalar_storage_order): Same.
              (handle_pragma_redefine_extname): Same.
              (add_to_renaming_pragma_list): Same.
              (maybe_apply_renaming_pragma): Same.
              (push_visibility): Same.
              (handle_pragma_visibility): Same.
              (handle_pragma_optimize): Same.
              (handle_pragma_message): Same.
              * c-warn.c (warn_for_omitted_condop): Same.
              (lvalue_error): Same.
      
      gcc/cp/ChangeLog:
      
              * call.c (print_z_candidate): Wrap diagnostic text in a gettext
              macro.  Adjust.
              (print_z_candidates): Same.
              (build_conditional_expr_1): Quote keywords, operators, and types
              in diagnostics.
              (build_op_delete_call): Same.
              (maybe_print_user_conv_context): Wrap diagnostic text in a gettext
              macro.
              (convert_like_real): Same.
              (convert_arg_to_ellipsis): Quote keywords, operators, and types
              in diagnostics.
              (build_over_call): Same.
              (joust): Break up an overlong line.  Wrap diagnostic text in a gettext
              macro.
              * constexpr.c (cxx_eval_check_shift_p): Spell out >= in English.
              (cxx_eval_constant_expression): Quote keywords, operators, and types
              in diagnostics.
              (potential_constant_expression_1): Same.
              * cp-gimplify.c (cp_genericize_r): Same.
              * cvt.c (maybe_warn_nodiscard): Quote keywords, operators, and types
              in diagnostics.
              (type_promotes_to): Same.
              * decl.c (check_previous_goto_1): Same.
              (check_goto): Same.
              (start_decl): Same.
              (cp_finish_decl): Avoid parenthesizing a sentence for consistency.
              (grok_op_properties): Quote keywords, operators, and types
              in diagnostics.
              * decl2.c (grokfield): Same.
              (coerce_delete_type): Same.
              * except.c (is_admissible_throw_operand_or_catch_parameter): Same.
              * friend.c (do_friend): Quote C++ tokens.
              * init.c (build_new_1): Quote keywords, operators, and types
              in diagnostics.
              (build_vec_delete_1): Same.
              (build_delete): Same.
              * lex.c (parse_strconst_pragma): Same.
              (handle_pragma_implementation): Same.
              (unqualified_fn_lookup_error): Same.
              * mangle.c (write_type): Same.
              * method.c (defaulted_late_check): Avoid two consecutive punctuators.
              * name-lookup.c (cp_binding_level_debug): Remove a trailing newline.
              (pop_everything): Same.
              * parser.c (cp_lexer_start_debugging): Quote a macro name.
              in a diagnostic
              (cp_lexer_stop_debugging): Same.
              (cp_parser_userdef_numeric_literal): Quote a C++ header name
              in a diagnostic.
              (cp_parser_nested_name_specifier_opt): Quote keywords, operators,
              and types in diagnostics.
              (cp_parser_question_colon_clause): Same.
              (cp_parser_asm_definition): Same.
              (cp_parser_init_declarator): Same.
              (cp_parser_template_declaration_after_parameters): Avoid capitalizing
              a sentence in a diagnostic.
              (cp_parser_omp_declare_reduction): Quote keywords, operators, and types
              in diagnostics.
              (cp_parser_transaction): Same.
              * pt.c (maybe_process_partial_specialization): Replace second call
              to permerror with inform for consistency with other uses.
              (expand_integer_pack): Quote keywords, operators, and types
              in diagnostics.
              * rtti.c (get_typeid): Quote keywords, operators, and types
              in diagnostics.
              (build_dynamic_cast_1): Same.
              * semantics.c (finish_asm_stmt): Same.
              (finish_label_decl): Same.
              (finish_bases): Same.
              (finish_offsetof): Same.
              (cp_check_omp_declare_reduction): Same.
              (finish_decltype_type): Same.
              * tree.c (handle_init_priority_attribute): Same.  Add detail
              to diagnostics.
              (maybe_warn_zero_as_null_pointer_constant): Same.
              * typeck.c (cp_build_binary_op): Quote keywords, operators, and types
              in diagnostics.
              (cp_build_unary_op): Same.
              (check_for_casting_away_constness): Same.
              (build_static_cast): Same.
              (build_const_cast_1): Same.
              (maybe_warn_about_returning_address_of_local): Same.
              (check_return_expr): Same.
              * typeck2.c (abstract_virtuals_error_sfinae): Same.
              (digest_init_r): Replace a tab with spaces in a diagnostic.
              (build_functional_cast): Quote keywords, operators, and types
              in diagnostics.
      
      gcc/d/ChangeLog:
      
              * d-builtins.cc (d_init_builtins): Quote keywords, operators,
              and types in diagnostics.
              * d-codegen.cc (get_array_length): Same.  Replace can't with cannot.
              * d-convert.cc (convert_expr): Same.
              * d-frontend.cc (getTypeInfoType): Quote an option name in
              a diagnostic.
              * d-lang.cc (d_handle_option): Same.
              (d_parse_file): Same.
              * decl.cc: Remove a trailing period from a diagnostic.
              * expr.cc: Use a directive for an apostrophe.
              * toir.cc: Quote keywords, operators, and types in diagnostics.
              * typeinfo.cc (build_typeinfo): Quote an option name in a diagnostic.
      
      gcc/fortran/ChangeLog:
      
      	* gfortranspec.c (append_arg): Spell out the word "argument."
      
      gcc/ChangeLog:
      
              * config/i386/i386-expand.c (get_element_number): Quote keywords
              and other internal names in diagnostics.  Adjust other diagnostic
              formatting issues noted by -Wformat-diag.
              * config/i386/i386-features.c
              (ix86_mangle_function_version_assembler_name): Same.
              * config/i386/i386-options.c (ix86_handle_abi_attribute): Same.
              * config/i386/i386.c (ix86_function_type_abi): Same.
              (ix86_function_ms_hook_prologue): Same.
              (classify_argument): Same.
              (ix86_expand_prologue): Same.
              (ix86_md_asm_adjust): Same.
              (ix86_memmodel_check): Same.
      
      gcc/ChangeLog:
      
              * builtins.c (expand_builtin_atomic_always_lock_free): Quote
              identifiers, keywords, operators, and types in diagnostics.  Correct
              quoting, spelling, and sentence capitalization issues.
              (expand_builtin_atomic_is_lock_free): Same.
              (fold_builtin_next_arg): Same.
              * cfgexpand.c (expand_one_var): Same.
              (tree_conflicts_with_clobbers_p): Same.
              (expand_asm_stmt): Same.
              (verify_loop_structure): Same.
              * cgraphunit.c (process_function_and_variable_attributes): Same.
              * collect-utils.c (collect_execute): Same.
              * collect2.c (maybe_run_lto_and_relink): Same.
              (is_lto_object_file): Same.
              (scan_prog_file): Same.
              * convert.c (convert_to_real_1): Same.
              * dwarf2out.c (dwarf2out_begin_prologue): Same.
              * except.c (verify_eh_tree): Same.
              * gcc.c (execute): Same.
              (eval_spec_function): Same.
              (run_attempt): Same.
              (driver::set_up_specs): Same.
              (compare_debug_auxbase_opt_spec_function): Same.
              * gcov-tool.c (unlink_gcda_file): Same.
              (do_merge): Same.
              (do_rewrite): Same.
              * gcse.c (gcse_or_cprop_is_too_expensive): Same.
              * gimplify.c (gimplify_asm_expr): Same.
              (gimplify_adjust_omp_clauses): Same.
              * hsa-gen.c (gen_hsa_addr_insns): Same.
              (gen_hsa_insns_for_load): Same.
              (gen_hsa_cmp_insn_from_gimple): Same.
              (gen_hsa_insns_for_operation_assignment): Same.
              (gen_get_level): Same.
              (gen_hsa_alloca): Same.
              (omp_simple_builtin::generate): Same.
              (gen_hsa_atomic_for_builtin): Same.
              (gen_hsa_insns_for_call): Same.
              * input.c (dump_location_info): Same.
              * ipa-devirt.c (compare_virtual_tables): Same.
              * ira.c (ira_setup_eliminable_regset): Same.
              * lra-assigns.c (lra_assign): Same.
              * lra-constraints.c (lra_constraints): Same.
              * lto-streamer-in.c (lto_input_mode_table): Same.
              * lto-wrapper.c (get_options_from_collect_gcc_options): Same.
              (merge_and_complain): Same.
              (compile_offload_image): Same.
              (compile_images_for_offload_targets): Same.
              (debug_objcopy): Same.
              (run_gcc): Same.
              (main): Same.
              * opts.c (print_specific_help): Same.
              (parse_no_sanitize_attribute): Same.
              (print_help): Same.
              (handle_param): Same.
              * plugin.c (add_new_plugin): Same.
              (parse_plugin_arg_opt): Same.
              (try_init_one_plugin): Same.
              * print-rtl.c (debug_bb_n_slim): Quote identifiers, keywords,
              operators, and types in diagnostics.  Correct quoting and spelling
              issues.
              * read-rtl-function.c (parse_edge_flag_token): Same.
              (function_reader::parse_enum_value): Same.
              * reg-stack.c (check_asm_stack_operands): Same.
              * regcprop.c (validate_value_data): Same.
              * sched-rgn.c (make_pass_sched_fusion): Same.
              * stmt.c (check_unique_operand_names): Same.
              * targhooks.c (default_target_option_pragma_parse): Same.
              * tlink.c (recompile_files): Same.
              * toplev.c (process_options): Same.
              (do_compile): Same.
              * trans-mem.c (diagnose_tm_1): Same.
              (ipa_tm_scan_irr_block): Same.
              (ipa_tm_diagnose_transaction): Same.
              * tree-cfg.c (verify_address): Same.  Use get_tree_code_name to
              format a tree code name in a diagnostic.
              (verify_types_in_gimple_min_lval): Same.
              (verify_types_in_gimple_reference): Same.
              (verify_gimple_call): Same.
              (verify_gimple_assign_unary): Same.
              (verify_gimple_assign_binary): Same.
              (verify_gimple_assign_ternary): Same.
              (verify_gimple_assign_single): Same.
              (verify_gimple_switch): Same.
              (verify_gimple_label): Same.
              (verify_gimple_phi): Same.
              (verify_gimple_in_seq): Same.
              (verify_eh_throw_stmt_node): Same.
              (collect_subblocks): Same.
              (gimple_verify_flow_info): Same.
              (do_warn_unused_result): Same.
              * tree-inline.c (expand_call_inline): Same.
              * tree-into-ssa.c (update_ssa): Same.
              * tree.c (tree_int_cst_elt_check_failed): Same.
              (tree_vec_elt_check_failed): Same.
              (omp_clause_operand_check_failed): Same.
              (verify_type_variant): Same.
              (verify_type): Same.
              * value-prof.c (verify_histograms): Same.
              * varasm.c (assemble_start_function): Same.
      
      gcc/lto/ChangeLog:
      
              * lto-dump.c (lto_main): Same.
              * lto.c (stream_out): Same.
      
      gcc/objc/ChangeLog:
      
              * objc-act.c (objc_begin_catch_clause): Quote keywords and options
              in diagnostics.
              (objc_build_throw_stmt): Same.
              (objc_finish_message_expr): Same.
              (get_super_receiver): Same.
              * objc-next-runtime-abi-01.c (objc_next_runtime_abi_01_init): Spell
              out "less than" in English./
              * objc-next-runtime-abi-02.c (objc_next_runtime_abi_02_init): Spell
              out "greater" in English.
      
      gcc/testsuite/ChangeLog:
      
              * c-c++-common/Wbool-operation-1.c: Adjust text of expected diagnostics.
              * c-c++-common/Wvarargs-2.c: Same.
              * c-c++-common/Wvarargs.c: Same.
              * c-c++-common/pr51768.c: Same.
              * c-c++-common/tm/inline-asm.c: Same.
              * c-c++-common/tm/safe-1.c: Same.
              * g++.dg/asm-qual-1.C: Same.
              * g++.dg/asm-qual-3.C: Same.
              * g++.dg/conversion/dynamic1.C: Same.
              * g++.dg/cpp0x/constexpr-89599.C: Same.
              * g++.dg/cpp0x/constexpr-cast.C: Same.
              * g++.dg/cpp0x/constexpr-shift1.C: Same.
              * g++.dg/cpp0x/lambda/lambda-conv11.C: Same.
              * g++.dg/cpp0x/nullptr04.C: Same.
              * g++.dg/cpp0x/static_assert12.C: Same.
              * g++.dg/cpp0x/static_assert8.C: Same.
              * g++.dg/cpp1y/lambda-conv1.C: Same.
              * g++.dg/cpp1y/pr79393-3.C: Same.
              * g++.dg/cpp1y/static_assert1.C: Same.
              * g++.dg/cpp1z/constexpr-if4.C: Same.
              * g++.dg/cpp1z/constexpr-if5.C: Same.
              * g++.dg/cpp1z/constexpr-if9.C: Same.
              * g++.dg/eh/goto2.C: Same.
              * g++.dg/eh/goto3.C: Same.
              * g++.dg/expr/static_cast8.C: Same.
              * g++.dg/ext/flexary5.C: Same.
              * g++.dg/ext/utf-array-short-wchar.C: Same.
              * g++.dg/ext/utf-array.C: Same.
              * g++.dg/ext/utf8-2.C: Same.
              * g++.dg/gomp/loop-4.C: Same.
              * g++.dg/gomp/macro-4.C: Same.
              * g++.dg/gomp/udr-1.C: Same.
              * g++.dg/init/initializer-string-too-long.C: Same.
              * g++.dg/other/offsetof9.C: Same.
              * g++.dg/ubsan/pr63956.C: Same.
              * g++.dg/warn/Wbool-operation-1.C: Same.
              * g++.dg/warn/Wtype-limits-Wextra.C: Same.
              * g++.dg/warn/Wtype-limits.C: Same.
              * g++.dg/wrappers/pr88680.C: Same.
              * g++.old-deja/g++.mike/eh55.C: Same.
              * gcc.dg/Wsign-compare-1.c: Same.
              * gcc.dg/Wtype-limits-Wextra.c: Same.
              * gcc.dg/Wtype-limits.c: Same.
              * gcc.dg/Wunknownprag.c: Same.
              * gcc.dg/Wunsuffixed-float-constants-1.c: Same.
              * gcc.dg/asm-6.c: Same.
              * gcc.dg/asm-qual-1.c: Same.
              * gcc.dg/cast-1.c: Same.
              * gcc.dg/cast-2.c: Same.
              * gcc.dg/cast-3.c: Same.
              * gcc.dg/cpp/source_date_epoch-2.c: Same.
              * gcc.dg/debug/pr85252.c: Same.
              * gcc.dg/dfp/cast-bad.c: Same.
              * gcc.dg/format/gcc_diag-1.c: Same.
              * gcc.dg/format/gcc_diag-11.c: Same.New test.
              * gcc.dg/gcc_diag-11.c: Same.New test.
              * gcc.dg/gnu-cond-expr-2.c: Same.
              * gcc.dg/gnu-cond-expr-3.c: Same.
              * gcc.dg/gomp/macro-4.c: Same.
              * gcc.dg/init-bad-1.c: Same.
              * gcc.dg/init-bad-2.c: Same.
              * gcc.dg/init-bad-3.c: Same.
              * gcc.dg/pr27528.c: Same.
              * gcc.dg/pr48552-1.c: Same.
              * gcc.dg/pr48552-2.c: Same.
              * gcc.dg/pr59846.c: Same.
              * gcc.dg/pr61096-1.c: Same.
              * gcc.dg/pr8788-1.c: Same.
              * gcc.dg/pr90082.c: Same.
              * gcc.dg/simd-2.c: Same.
              * gcc.dg/spellcheck-params-2.c: Same.
              * gcc.dg/spellcheck-params.c: Same.
              * gcc.dg/strlenopt-49.c: Same.
              * gcc.dg/tm/pr52141.c: Same.
              * gcc.dg/torture/pr51106-1.c: Same.
              * gcc.dg/torture/pr51106-2.c: Same.
              * gcc.dg/utf-array-short-wchar.c: Same.
              * gcc.dg/utf-array.c: Same.
              * gcc.dg/utf8-2.c: Same.
              * gcc.dg/warn-sprintf-no-nul.c: Same.
              * gcc.target/i386/asm-flag-0.c: Same.
              * gcc.target/i386/inline_error.c: Same.
              * gcc.target/i386/pr30848.c: Same.
              * gcc.target/i386/pr39082-1.c: Same.
              * gcc.target/i386/pr39678.c: Same.
              * gcc.target/i386/pr57756.c: Same.
              * gcc.target/i386/pr68843-1.c: Same.
              * gcc.target/i386/pr79804.c: Same.
              * gcc.target/i386/pr82673.c: Same.
              * obj-c++.dg/class-protocol-1.mm: Same.
              * obj-c++.dg/exceptions-3.mm: Same.
              * obj-c++.dg/exceptions-4.mm: Same.
              * obj-c++.dg/exceptions-5.mm: Same.
              * obj-c++.dg/exceptions-6.mm: Same.
              * obj-c++.dg/method-12.mm: Same.
              * obj-c++.dg/method-13.mm: Same.
              * obj-c++.dg/method-6.mm: Same.
              * obj-c++.dg/method-7.mm: Same.
              * obj-c++.dg/method-9.mm: Same.
              * obj-c++.dg/method-lookup-1.mm: Same.
              * obj-c++.dg/proto-lossage-4.mm: Same.
              * obj-c++.dg/protocol-qualifier-2.mm: Same.
              * objc.dg/call-super-2.m: Same.
              * objc.dg/class-protocol-1.m: Same.
              * objc.dg/desig-init-1.m: Same.
              * objc.dg/exceptions-3.m: Same.
              * objc.dg/exceptions-4.m: Same.
              * objc.dg/exceptions-5.m: Same.
              * objc.dg/exceptions-6.m: Same.
              * objc.dg/method-19.m: Same.
              * objc.dg/method-2.m: Same.
              * objc.dg/method-5.m: Same.
              * objc.dg/method-6.m: Same.
              * objc.dg/method-7.m: Same.
              * objc.dg/method-lookup-1.m: Same.
              * objc.dg/proto-hier-1.m: Same.
              * objc.dg/proto-lossage-4.m: Same.
      
      From-SVN: r271338
      Martin Sebor committed
  2. 16 May, 2019 1 commit
    • gcc: move assemble_start_function / assemble_end_function to output_mi_thunk · f7430263
      Let backends call assemble_start_function after they have generated
      thunk function body so that a constant pool could be output if it is
      required. This may help backends to avoid implementing custom constant
      loading code specifically for the MI thunk and reuse existing
      functionality.
      
      gcc/
      2019-05-16  Max Filippov  <jcmvbkbc@gmail.com>
      
      	* cgraphunit.c (cgraph_node::expand_thunk): Remove
      	assemble_start_function and assemble_end_function calls.
      	* config/alpha/alpha.c (alpha_output_mi_thunk_osf): Call
      	assemble_start_function and assemble_end_function.
      	* config/arc/arc.c (arc_output_mi_thunk): Likewise.
      	* config/arm/arm.c (arm_output_mi_thunk): Likewise.
      	* config/bfin/bfin.c (bfin_output_mi_thunk): Likewise.
      	* config/c6x/c6x.c (c6x_output_mi_thunk): Likewise.
      	* config/cris/cris.c (cris_asm_output_mi_thunk): Likewise.
      	* config/csky/csky.c (csky_output_mi_thunk): Likewise.
      	* config/epiphany/epiphany.c (epiphany_output_mi_thunk): Likewise.
      	* config/frv/frv.c (frv_asm_output_mi_thunk): Likewise.
      	* config/i386/i386.c (x86_output_mi_thunk): Likewise.
      	* config/ia64/ia64.c (ia64_output_mi_thunk): Likewise.
      	* config/m68k/m68k.c (m68k_output_mi_thunk): Likewise.
      	* config/microblaze/microblaze.c (microblaze_asm_output_mi_thunk):
      	Likewise.
      	* config/mips/mips.c (mips_output_mi_thunk): Likewise.
      	* config/mmix/mmix.c (mmix_asm_output_mi_thunk): Likewise.
      	* config/mn10300/mn10300.c (mn10300_asm_output_mi_thunk): Likewise.
      	* config/nds32/nds32.c (nds32_asm_output_mi_thunk): Likewise.
      	* config/nios2/nios2.c (nios2_asm_output_mi_thunk): Likewise.
      	* config/or1k/or1k.c (or1k_output_mi_thunk): Likewise.
      	* config/pa/pa.c (pa_asm_output_mi_thunk): Likewise.
      	* config/riscv/riscv.c (riscv_output_mi_thunk): Likewise.
      	* config/rs6000/rs6000.c (rs6000_output_mi_thunk): Likewise.
      	* config/s390/s390.c (s390_output_mi_thunk): Likewise.
      	* config/sh/sh.c (sh_output_mi_thunk): Likewise.
      	* config/sparc/sparc.c (sparc_output_mi_thunk): Likewise.
      	* config/spu/spu.c (spu_output_mi_thunk): Likewise.
      	* config/stormy16/stormy16.c (xstormy16_asm_output_mi_thunk):
      	Likewise.
      	* config/tilegx/tilegx.c (tilegx_output_mi_thunk): Likewise.
      	* config/tilepro/tilepro.c (tilepro_asm_output_mi_thunk): Likewise.
      	* config/vax/vax.c (vax_output_mi_thunk): Likewise.
      
      From-SVN: r271293
      Max Filippov committed
  3. 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
  4. 12 Feb, 2019 1 commit
  5. 23 Jan, 2019 1 commit
  6. 09 Jan, 2019 1 commit
    • 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
  7. 01 Jan, 2019 1 commit
  8. 20 Dec, 2018 1 commit
  9. 09 Nov, 2018 1 commit
    • PR middle-end/81824 - Warn for missing attributes with function aliases · 79a2c428
      gcc/c-family/ChangeLog:
      
      	PR middle-end/81824
      	* c-attribs.c (handle_copy_attribute): New function.
      
      gcc/cp/ChangeLog:
      
      	PR middle-end/81824
      	* pt.c (warn_spec_missing_attributes): Move code to attribs.c.
      	Call decls_mismatched_attributes.
      
      gcc/ChangeLog:
      
      	PR middle-end/81824
      	* attribs.c (has_attribute): New helper function.
      	(decls_mismatched_attributes, maybe_diag_alias_attributes): Same.
      	* attribs.h (decls_mismatched_attributes): Declare.
      	* cgraphunit.c (handle_alias_pairs): Call maybe_diag_alias_attributes.
      	(maybe_diag_incompatible_alias): Use OPT_Wattribute_alias_.
      	* common.opt (-Wattribute-alias): Take an argument.
      	(-Wno-attribute-alias): New option.
      	* doc/extend.texi (Common Function Attributes): Document copy.
      	(Common Variable Attributes): Same.
      	* doc/invoke.texi (-Wmissing-attributes): Document enhancement.
      	(-Wattribute-alias): Document new option argument.
      
      gcc/testsuite/ChangeLog:
      
      	PR middle-end/81824
      	* gcc.dg/Wattribute-alias.c: New test.
      	* gcc.dg/Wmissing-attributes.c: New test.
      	* gcc.dg/attr-copy.c: New test.
      	* gcc.dg/attr-copy-2.c: New test.
      	* gcc.dg/attr-copy-3.c: New test.
      	* gcc.dg/attr-copy-4.c: New test.
      
      From-SVN: r265980
      Martin Sebor committed
  10. 10 Oct, 2018 1 commit
  11. 08 Oct, 2018 1 commit
  12. 04 Oct, 2018 1 commit
  13. 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
  14. 21 Aug, 2018 1 commit
    • [debug] Add debug and earlydebug dumps · efd9eb29
      With the introduction of early debug, we've added a phase in the compiler which
      produces information which is not visible, unless we run the compiler in the
      debugger and call debug_dwarf from dwarf2out_early_finish or some such.
      
      This patch adds dumping of "early" and "final" debug info, into .earlydebug
      and .debug dump files, enabled by -fdump-earlydebug and -fdumpdebug, such that
      we can follow f.i. the upper bound of a vla type from early debug:
      ...
                DW_AT_upper_bound: location descriptor:
                  (0x7f0d645b7550) DW_OP_GNU_variable_value , 0
      ...
      to final debug:
      ...
                DW_AT_upper_bound: location descriptor:
                  (0x7f0d645b7550) DW_OP_fbreg 18446744073709551592, 0
                  (0x7f0d645b7a00) DW_OP_deref 8, 0
      ...
      to -dA annotated assembly file:
      ...
              .uleb128 0x3    # DW_AT_upper_bound
              .byte   0x91    # DW_OP_fbreg
              .sleb128 -24
              .byte   0x6     # DW_OP_deref
      ...
      
      The .debug file shows the same information as the annotated assembly, but in
      the same format as the "early" debug info.
      
      Bootstrapped and reg-tested on x86_64.
      
      2018-08-21  Tom de Vries  <tdevries@suse.de>
      
      	* cgraph.h (debuginfo_early_init, debuginfo_init, debuginfo_fini)
      	(debuginfo_start, debuginfo_stop, debuginfo_early_start)
      	(debuginfo_early_stop): Declare.
      	* cgraphunit.c (debuginfo_early_init, debuginfo_init, debuginfo_fini)
      	(debuginfo_start, debuginfo_stop, debuginfo_early_start)
      	(debuginfo_early_stop): New function.
      	(symbol_table::finalize_compilation_unit): Call debuginfo_early_start
      	and debuginfo_early_stop.
      	* dwarf2out.c (dwarf2out_finish, dwarf2out_early_finish): Dump dwarf.
      	* toplev.c (compile_file): Call debuginfo_start and debuginfo_stop.
      	(general_init): Call debuginfo_early_init.
      	(finalize): Call debuginfo_fini.
      	(do_compile): Call debuginfo_init.
      	* doc/invoke.texi (@gccoptlist): Add -fdump-debug and
      	-fdump-early-debug.
      	(@item -fdump-debug, @item -fdump-earlydebug): Add.
      
      	* lto.c (lto_main):  Call debuginfo_early_start and
      	debuginfo_early_stop.
      
      	* gcc.c-torture/unsorted/dump-noaddr.x: Use -gno-record-gcc-switches
      	to avoid mismatch in .debug and .earlydebug dump files.
      
      From-SVN: r263687
      Tom de Vries committed
  15. 20 Aug, 2018 1 commit
    • Add support for grouping of related diagnostics (PR other/84889) · 097f82ec
      We often emit logically-related groups of diagnostics.
      
      A relatively simple case is this:
      
        if (warning_at (body_loc, OPT_Wmultistatement_macros,
                        "macro expands to multiple statements"))
          inform (guard_loc, "some parts of macro expansion are not guarded by "
                  "this %qs clause", guard_tinfo_to_string (keyword));
      
      where the "note" diagnostic issued by the "inform" call
      is guarded by the -Wmultistatement_macros warning.
      
      More complicated examples can be seen in the C++ frontend,
      where e.g. print_z_candidates can lead to numerous "note"
      diagnostics being emitted.
      
      I'm looking at various ways to improve how we handle such related
      diagnostics, but, prior to this patch, there was no explicit
      relationship between these diagnostics: the diagnostics subsystem
      had no way of "knowing" that these were related.
      
      This patch introduces a simple way to group the diagnostics:
      an auto_diagnostic_group class: all diagnostics emitted within
      the lifetime of an auto_diagnostic_group instance are logically
      grouped.
      
      Hence in the above example, the two diagnostics can be grouped
      by simply adding an auto_diagnostic_group instance:
      
        auto_diagnostic_group d;
        if (warning_at (body_loc, OPT_Wmultistatement_macros,
                        "macro expands to multiple statements"))
          inform (guard_loc, "some parts of macro expansion are not guarded by "
                  "this %qs clause", guard_tinfo_to_string (keyword));
      
      Some more awkard cases are of the form:
      
        if (some_condition
            && warning_at (...)
            && more_conditions)
          inform (...);
      
      which thus need restructuring to:
      
        if (some_condition)
          {
            auto_diagnostic_group d;
            warning_at (...);
            if (more_conditions)
              inform (...);
          }
      
      so that the lifetime of the auto_diagnostic_group groups the
      warning_at and the inform call.
      
      Nesting is handled by simply tracking a nesting depth within the
      diagnostic_context.: all diagnostics are treated as grouped until the
      final auto_diagnostic_group is popped.
      
      diagnostic.c uses this internally, so that all diagnostics are part of
      a group - those that are "by themselves" are treated as being part of
      a group with one element.
      
      The diagnostic_context gains optional callbacks for displaying the
      start of a group (when the first diagnostic is emitted within it), and
      the end of a group (for when the group was non-empty); these callbacks
      are unused by default, but a test plugin demonstrates them (and verifies
      that the machinery is working).
      
      As noted above, I'm looking at various ways to use the grouping to
      improve how we output the diagnostics.
      
      FWIW, I experimented with a more involved implementation, of the form:
      
        diagnostic_group d;
        if (d.warning_at (body_loc, OPT_Wmultistatement_macros,
                          "macro expands to multiple statements"))
          d.inform (guard_loc, "some parts of macro expansion are not guarded by "
                    "this %qs clause", guard_tinfo_to_string (keyword));
      
      which had the advantage of allowing auto-detection of the places where
      groups were needed (by converting ::warning_at's return type to bool),
      but it was a much more invasive patch, especially when dealing with
      the places in the C++ frontend that can emit numerous notes after
      an error or warning (and thus having to pass the group around)
      Hence I went with this simpler approach.
      
      gcc/c-family/ChangeLog:
      	PR other/84889
      	* c-attribs.c (common_handle_aligned_attribute): Add
      	auto_diagnostic_group instance.
      	* c-indentation.c (warn_for_misleading_indentation): Likewise.
      	* c-opts.c (c_common_post_options): Likewise.
      	* c-warn.c (warn_logical_not_parentheses): Likewise.
      	(warn_duplicated_cond_add_or_warn): Likewise.
      	(warn_for_multistatement_macros): Likewise.
      
      gcc/c/ChangeLog:
      	PR other/84889
      	* c-decl.c (pushtag): Add auto_diagnostic_group instance.
      	(diagnose_mismatched_decls): Likewise, in various places.
      	(warn_if_shadowing): Likewise.
      	(implicit_decl_warning): Likewise.
      	(implicitly_declare): Likewise.
      	(undeclared_variable): Likewise.
      	(declare_label): Likewise.
      	(grokdeclarator): Likewise.
      	(start_function): Likewise.
      	* c-parser.c (c_parser_declaration_or_fndef): Likewise.
      	(c_parser_parameter_declaration): Likewise.
      	(c_parser_binary_expression): Likewise.
      	* c-typeck.c (c_expr_sizeof_expr): Likewise.
      	(parser_build_binary_op): Likewise.
      	(build_unary_op): Likewise.
      	(error_init): Likewise.
      	(pedwarn_init): Likewise.
      	(warning_init): Likewise.
      	(convert_for_assignment): Likewise.
      
      gcc/cp/ChangeLog:
      	PR other/84889
      	* call.c (build_user_type_conversion_1): Add auto_diagnostic_group
      	instance(s).
      	(print_error_for_call_failure): Likewise.
      	(build_op_call_1): Likewise.
      	(build_conditional_expr_1): Likewise.
      	(build_new_op_1): Likewise.
      	(build_op_delete_call): Likewise.
      	(convert_like_real): Likewise.
      	(build_over_call): Likewise.
      	(build_new_method_call_1): Likewise.
      	(joust): Likewise.
      	* class.c (check_tag): Likewise.
      	(finish_struct_anon_r): Likewise.
      	(one_inherited_ctor): Likewise.
      	(finalize_literal_type_property): Likewise.
      	(explain_non_literal_class): Likewise.
      	(find_flexarrays): Likewise.
      	(resolve_address_of_overloaded_function): Likewise.
      	* constexpr.c (ensure_literal_type_for_constexpr_object): Likewise.
      	(is_valid_constexpr_fn): Likewise.
      	(cx_check_missing_mem_inits): Likewise.
      	* cp-gimplify.c (cp_genericize_r): Likewise.
      	* cvt.c (maybe_warn_nodiscard): Likewise.
      	* decl.c (warn_extern_redeclared_static): Likewise.
      	(check_redeclaration_exception_specification): Likewise.
      	(check_no_redeclaration_friend_default_args): Likewise.
      	(duplicate_decls): Likewise.
      	(redeclaration_error_message): Likewise.
      	(warn_misplaced_attr_for_class_type): Likewise.
      	* decl2.c (finish_static_data_member_decl): Likewise.
      	(no_linkage_error): Likewise.
      	(cp_warn_deprecated_use): Likewise.
      	* error.c (qualified_name_lookup_error): Likewise.
      	* friend.c (make_friend_class): Likewise.
      	(do_friend): Likewise.
      	* init.c (perform_member_init): Likewise.
      	(build_new_1): Likewise.
      	(build_vec_delete_1): Likewise.
      	(build_delete): Likewise.
      	* lex.c (unqualified_name_lookup_error): Likewise.
      	* name-lookup.c (check_extern_c_conflict): Likewise.
      	(inform_shadowed): New function.
      	(check_local_shadow): Add auto_diagnostic_group instances,
      	replacing goto "inform_shadowed" label with call to subroutine.
      	(set_local_extern_decl_linkage): Add auto_diagnostic_group
      	instance(s).
      	* parser.c (cp_parser_diagnose_invalid_type_name): Likewise.
      	(cp_parser_namespace_name): Likewise.
      	* pt.c (check_specialization_namespace): Likewise.
      	(check_template_variable): Likewise.
      	(warn_spec_missing_attributes): Likewise.
      	(check_explicit_specialization): Likewise.
      	(process_partial_specialization): Likewise.
      	(lookup_template_class_1): Likewise.
      	(finish_template_variable): Likewise.
      	(do_auto_deduction): Likewise.
      	* search.c (check_final_overrider): Likewise.
      	(look_for_overrides_r): Likewise.
      	* tree.c (maybe_warn_parm_abi): Likewise.
      	* typeck.c (cxx_sizeof_expr): Likewise.
      	(cp_build_function_call_vec): Likewise.
      	(cp_build_binary_op): Likewise.
      	(convert_for_assignment): Likewise.
      	(maybe_warn_about_returning_address_of_local): Likewise.
      	* typeck2.c (abstract_virtuals_error_sfinae): Likewise.
      	(check_narrowing): Likewise.
      
      gcc/ChangeLog:
      	PR other/84889
      	* attribs.c (diag_attr_exclusions): Add auto_diagnostic_group instance.
      	(decl_attributes): Likewise.
      	* calls.c (maybe_warn_nonstring_arg): Add auto_diagnostic_group
      	instance.
      	* cgraphunit.c (maybe_diag_incompatible_alias): Likewise.
      	* diagnostic-core.h (class auto_diagnostic_group): New class.
      	* diagnostic.c (diagnostic_initialize): Initialize the new fields.
      	(diagnostic_report_diagnostic): Handle the first diagnostics within
      	a group.
      	(emit_diagnostic): Add auto_diagnostic_group instance.
      	(inform): Likewise.
      	(inform_n): Likewise.
      	(warning): Likewise.
      	(warning_at): Likewise.
      	(warning_n): Likewise.
      	(pedwarn): Likewise.
      	(permerror): Likewise.
      	(error): Likewise.
      	(error_n): Likewise.
      	(error_at): Likewise.
      	(sorry): Likewise.
      	(fatal_error): Likewise.
      	(internal_error): Likewise.
      	(internal_error_no_backtrace): Likewise.
      	(auto_diagnostic_group::auto_diagnostic_group): New ctor.
      	(auto_diagnostic_group::~auto_diagnostic_group): New dtor.
      	* diagnostic.h (struct diagnostic_context): Add fields
      	"diagnostic_group_nesting_depth",
      	"diagnostic_group_emission_count", "begin_group_cb",
      	"end_group_cb".
      	* gimple-ssa-isolate-paths.c (find_implicit_erroneous_behavior):
      	Add auto_diagnostic_group instance(s).
      	(find_explicit_erroneous_behavior): Likewise.
      	* gimple-ssa-warn-alloca.c (pass_walloca::execute): Likewise.
      	* gimple-ssa-warn-restrict.c (maybe_diag_offset_bounds): Likewise.
      	* gimplify.c (warn_implicit_fallthrough_r): Likewise.
      	(gimplify_va_arg_expr): Likewise.
      	* hsa-gen.c (HSA_SORRY_ATV): Likewise.
      	(HSA_SORRY_AT): Likewise.
      	* ipa-devirt.c (compare_virtual_tables): Likewise.
      	(warn_odr): Likewise.
      	* multiple_target.c (expand_target_clones): Likewise.
      	* opts-common.c (cmdline_handle_error): Likewise.
      	* reginfo.c (globalize_reg): Likewise.
      	* substring-locations.c (format_warning_n_va): Likewise.
      	* tree-inline.c (expand_call_inline): Likewise.
      	* tree-ssa-ccp.c (pass_post_ipa_warn::execute): Likewise.
      	* tree-ssa-loop-niter.c
      	(do_warn_aggressive_loop_optimizations): Likewise.
      	* tree-ssa-uninit.c (warn_uninit): Likewise.
      	* tree.c (warn_deprecated_use): Likewise.
      
      gcc/testsuite/ChangeLog:
      	PR other/84889
      	* gcc.dg/plugin/diagnostic-group-test-1.c: New test.
      	* gcc.dg/plugin/diagnostic_group_plugin.c: New test.
      	* gcc.dg/plugin/plugin.exp (plugin_test_list): Add the new tests.
      
      From-SVN: r263675
      David Malcolm committed
  16. 20 Jul, 2018 1 commit
    • PR middle-end/82063 - issues with arguments enabled by -Wall · 00abf86c
      gcc/ada/ChangeLog:
      
      	PR middle-end/82063
      	* gcc-interface/misc.c (gnat_handle_option): Change function argument
      	to HOST_WIDE_INT.
      
      gcc/brig/ChangeLog:
      
      	PR middle-end/82063
      	* brig/brig-lang.c (brig_langhook_handle_option): Change function
      	argument to HOST_WIDE_INT.
      
      gcc/c-family/ChangeLog:
      
      	PR middle-end/82063
      	* c-common.h (c_common_handle_option): Change function argument
      	to HOST_WIDE_INT.
      	* c-opts.c (c_common_init_options): Same.
      	(c_common_handle_option): Same.  Remove special handling of
      	OPT_Walloca_larger_than_ and OPT_Wvla_larger_than_.
      	* c.opt (-Walloc-size-larger-than, -Walloca-larger-than): Change
      	options to take a HOST_WIDE_INT argument and accept a byte-size
      	suffix.  Initialize.
      	(-Wvla-larger-than): Same.
      	(-Wno-alloc-size-larger-than, -Wno-alloca-larger-than): New.
      	(-Wno-vla-larger-than): Same.
      
      gcc/fortran/ChangeLog:
      
      	PR middle-end/82063
      	* gfortran.h (gfc_handle_option): Change function argument
      	to HOST_WIDE_INT.
      	* options.c (gfc_handle_option): Same.
      
      gcc/go/ChangeLog:
      
      	PR middle-end/82063
      	* go-lang.c (go_langhook_handle_option): Change function argument
      	to HOST_WIDE_INT.
      
      gcc/lto/ChangeLog:
      
      	PR middle-end/82063
      	* lto-lang.c (lto_handle_option): Change function argument
      	to HOST_WIDE_INT.
      
      gcc/testsuite/ChangeLog:
      
      	PR middle-end/82063
      	* gcc/testsuite/c-c++-common/pr68657-1.c: Adjust.
      	* gcc/testsuite/c-c++-common/pr68657-2.c: Same.
      	* gcc/testsuite/c-c++-common/pr68657-3.c: Same.
      	* gcc.dg/Walloc-size-larger-than-16.c: Same.
      	* gcc.dg/Walloca-larger-than.c: New test.
      	* gcc.dg/Walloca-larger-than-2.c: New test.
      	* gcc.dg/Wframe-larger-than-2.c: New test.
      	* gcc.dg/Wlarger-than3.c: New test.
      	* gcc.dg/Wvla-larger-than-3.c: New test.
      	* gcc.dg/pr42611.c: Adjust.
      	* gnat.dg/frame_overflow.adb: Same.
      
      gcc/ChangeLog:
      
      	PR middle-end/82063
      	* builtins.c (expand_builtin_alloca): Adjust.
      	* calls.c (alloc_max_size): Simplify.
      	* cgraphunit.c (cgraph_node::expand): Adjust.
      	* common.opt (larger_than_size, warn_frame_larger_than): Remove
      	variables.
      	(frame_larger_than_size): Same.
      	(-Wframe-larger-than, -Wlarger-than, -Wstack-usage): Change options
      	to take a HOST_WIDE_INT argument and accept a byte-size suffix.
      	Initialize.
      	* doc/invoke.texi (GCC Command Options): Document option arguments.
      	Explain byte-size arguments and suffixes.
      	(-Wvla-larger-than, -Wno-alloc-size-larger-than): Update.
      	(-Wno-alloca-larger-than, -Wno-vla-larger-than): Same.
      	(-Wframe-larger-than, -Wlarger-than, -Wstack-usage): Same.
      	* doc/options.texi (UInteger): Expand.
      	(Host_Wide_Int, ByteSize): Document new properties.
      	* final.c (final_start_function_1): Include sizes in an error message.
      	* function.c (frame_offset_overflow): Same.
      	* gimple-ssa-warn-alloca.c (pass_walloca::gate): Adjust.
      	(alloca_call_type_by_arg): Change function argument to HOST_WIDE_INT.
      	Diagnose unbounded alloca calls only for limits of less than
      	PTRDIFF_MAX.
      	(alloca_call_type): Adjust.  Diagnose possibly out-of-bounds alloca
      	calls and VLA size only for limits of less than	PTRDIFF_MAX.  Same
      	for alloca(0).
      	(pass_walloca::execute): Adjust.  Diagnose alloca calls in loops
      	only for limits of less than PTRDIFF_MAX.
      	* langhooks-def.h (lhd_handle_option): Change function argument
      	to HOST_WIDE_INT.
      	* langhooks.c (lhd_handle_option): Same.
      	* langhooks.h (handle_option): Same.
      	* opt-functions.awk (switch_bit_fields): Handle Host_Wide_Int and
      	ByteSize flags.
      	(var_type, var_type_struct): Same.
      	(var_set): Handle ByteSize flag.
      	* optc-gen.awk: Add comments to output to ease debugging.  Make
      	use of HOST_WIDE_INT where appropriate.
      	* opts-gen-save.awk:  Use %lx to format unsigned long.
      	* opth-gen.awk: Change function argument to HOST_WIDE_INT.
      	* opts-common.c (integral_argument): Return HOST_WIDE_INT and add
      	arguments.  Parse bytes-size suffixes.
      	(enum_arg_to_value): Change function argument to HOST_WIDE_INT.
      	(enum_value_to_arg): Same.
      	(decode_cmdline_option): Handle cl_host_wide_int.  Adjust.
      	(handle_option): Adjust.
      	(generate_option): Change function argument to HOST_WIDE_INT.
      	(cmdline_handle_error): Adjust.
      	(read_cmdline_option): Change function argument to HOST_WIDE_INT.
      	(set_option): Change function argument to HOST_WIDE_INT.
      	(option_enabled): Handle cl_host_wide_int.
      	(get_option_state): Handle CLVC_SIZE.
      	(control_warning_option): Same.
      	* opts.c (common_handle_option): Change function argument to
      	HOST_WIDE_INT.  Remove handling of OPT_Walloca_larger_than_ and
      	OPT_Wvla_larger_than_.
      	* opts.h (enum cl_var_type): Add an enumerator.
      	* stor-layout.c (layout_decl): Print a more meaningful warning.
      	* toplev.c (output_stack_usage): Adjust.
      
      From-SVN: r262910
      Martin Sebor committed
  17. 27 Jun, 2018 1 commit
    • gimple.h (gimple_return_retbnd): Delete. · ed510b16
      	* gimple.h (gimple_return_retbnd): Delete.
      	(gimple_return_set_retbnd): Likewise.
      	* cgraphunit.c (cgraph_node::expand_thunk): Remove call to
      	gimple_return_set_retbnd.
      	* gimple-pretty-print.c (dump_gimple_return): Remove call to
      	gimple_return_retbnd and adjust.
      	* tree-inline.h (struct copy_body_data): Remove retbnd field.
      	* tree-inline.c (remap_gimple_stmt): Remove handling of retbnd.
      	Explicitly return NULL in a couple more cases.  Move assertion
      	on debug statements and remove unreachable code.
      	(reset_debug_binding): Do not test id->retbnd.
      	(expand_call_inline): Do not set it.
      
      From-SVN: r262181
      Eric Botcazou committed
  18. 26 Jun, 2018 1 commit
    • Introduce dump_location_t · 4f5b9c80
      gcc/ChangeLog:
      	* cfgloop.c (get_loop_location): Convert return type from
      	location_t to dump_user_location_t, replacing INSN_LOCATION lookups
      	by implicit construction from rtx_insn *, and using
      	dump_user_location_t::from_function_decl for the fallback case.
      	* cfgloop.h (get_loop_location): Convert return type from
      	location_t to dump_user_location_t.
      	* cgraphunit.c (walk_polymorphic_call_targets): Update call to
      	dump_printf_loc to pass in a dump_location_t rather than a
      	location_t, via the gimple stmt.
      	* coverage.c (get_coverage_counts): Update calls to
      	dump_printf_loc to pass in dump_location_t rather than a
      	location_t.
      	* doc/optinfo.texi (Dump types): Convert example of
      	dump_printf_loc from taking "locus" to taking "insn".  Update
      	description of the "_loc" calls to cover dump_location_t.
      	* dumpfile.c: Include "backend.h", "gimple.h", "rtl.h", and
      	"selftest.h".
      	(dump_user_location_t::dump_user_location_t): New constructors,
      	from gimple *stmt and rtx_insn *.
      	(dump_user_location_t::from_function_decl): New function.
      	(dump_loc): Make static.
      	(dump_gimple_stmt_loc): Convert param "loc" from location_t to
      	const dump_location_t &.
      	(dump_generic_expr_loc): Delete.
      	(dump_printf_loc): Convert param "loc" from location_t to
      	const dump_location_t &.
      	(selftest::test_impl_location): New function.
      	(selftest::dumpfile_c_tests): New function.
      	* dumpfile.h: Include "profile-count.h".
      	(class dump_user_location_t): New class.
      	(struct dump_impl_location_t): New struct.
      	(class dump_location_t): New class.
      	(dump_printf_loc): Convert 2nd param from source_location to
      	const dump_location_t &.
      	(dump_generic_expr_loc): Delete.
      	(dump_gimple_stmt_loc): Convert 2nd param from source_location to
      	const dump_location_t &.
      	* gimple-fold.c (fold_gimple_assign): Update call to
      	dump_printf_loc to pass in a dump_location_t rather than a
      	location_t, via the gimple stmt.
      	(gimple_fold_call): Likewise.
      	* gimple-loop-interchange.cc
      	(loop_cand::analyze_iloop_reduction_var): Update for change to
      	check_reduction_path.
      	(tree_loop_interchange::interchange): Update for change to
      	find_loop_location.
      	* graphite-isl-ast-to-gimple.c (scop_to_isl_ast): Update for
      	change in return-type of find_loop_location.
      	(graphite_regenerate_ast_isl): Likewise.
      	* graphite-optimize-isl.c (optimize_isl): Likewise.
      	* graphite.c (graphite_transform_loops): Likewise.
      	* ipa-devirt.c (ipa_devirt): Update call to dump_printf_loc to
      	pass in a dump_location_t rather than a location_t, via the
      	gimple stmt.
      	* ipa-prop.c (ipa_make_edge_direct_to_target): Likewise.
      	* ipa.c (walk_polymorphic_call_targets): Likewise.
      	* loop-unroll.c (report_unroll): Convert "locus" param from
      	location_t to dump_location_t.
      	(decide_unrolling): Update for change to get_loop_location's
      	return type.
      	* omp-grid.c (struct grid_prop): Convert field "target_loc" from
      	location_t to dump_user_location_t.
      	(grid_find_single_omp_among_assignments_1): Updates calls to
      	dump_printf_loc to pass in a dump_location_t rather than a
      	location_t, via the gimple stmt.
      	(grid_parallel_clauses_gridifiable): Convert "tloc" from
      	location_t to dump_location_t.  Updates calls to dump_printf_loc
      	to pass in a dump_location_t rather than a location_t, via the
      	gimple stmt.
      	(grid_inner_loop_gridifiable_p): Likewise.
      	(grid_dist_follows_simple_pattern): Likewise.
      	(grid_gfor_follows_tiling_pattern): Likewise.
      	(grid_target_follows_gridifiable_pattern): Likewise.
      	(grid_attempt_target_gridification): Convert initialization
      	of local "grid" from memset to zero-initialization; FIXME: does
      	this require C++11?  Update call to dump_printf_loc to pass in a
      	optinfo_location rather than a location_t, via the gimple stmt.
      	* profile.c (read_profile_edge_counts): Updates call to
      	dump_printf_loc to pass in a dump_location_t rather than a
      	location_t
      	(compute_branch_probabilities): Likewise.
      	* selftest-run-tests.c (selftest::run_tests): Call
      	dumpfile_c_tests.
      	* selftest.h (dumpfile_c_tests): New decl.
      	* tree-loop-distribution.c (pass_loop_distribution::execute):
      	Update for change in return type of find_loop_location.
      	* tree-parloops.c (parallelize_loops): Likewise.
      	* tree-ssa-loop-ivcanon.c (try_unroll_loop_completely): Convert
      	"locus" from location_t to dump_user_location_t.
      	(canonicalize_loop_induction_variables): Likewise.
      	* tree-ssa-loop-ivopts.c (tree_ssa_iv_optimize_loop): Update
      	for change in return type of find_loop_location.
      	* tree-ssa-loop-niter.c (number_of_iterations_exit): Update call
      	to dump_printf_loc to pass in a dump_location_t rather than a
      	location_t, via the stmt.
      	* tree-ssa-sccvn.c (eliminate_dom_walker::before_dom_children):
      	Likewise.
      	* tree-vect-loop-manip.c (find_loop_location): Convert return
      	type from source_location to dump_user_location_t.
      	(vect_do_peeling): Update for above change.
      	(vect_loop_versioning): Update for change in type of
      	vect_location.
      	* tree-vect-loop.c (check_reduction_path): Convert "loc" param
      	from location_t to dump_user_location_t.
      	(vect_estimate_min_profitable_iters): Update for change in type
      	of vect_location.
      	* tree-vect-slp.c (vect_print_slp_tree): Convert param "loc" from
      	location_t to dump_location_t.
      	(vect_slp_bb): Update for change in type of vect_location.
      	* tree-vectorizer.c (vect_location): Convert from source_location
      	to dump_user_location_t.
      	(try_vectorize_loop_1): Update for change in vect_location's type.
      	(vectorize_loops): Likewise.
      	(increase_alignment): Likewise.
      	* tree-vectorizer.h (vect_location): Convert from source_location
      	to dump_user_location_t.
      	(find_loop_location): Convert return type from source_location to
      	dump_user_location_t.
      	(check_reduction_path): Convert 1st param from location_t to
      	dump_user_location_t.
      	* value-prof.c (check_counter): Update call to dump_printf_loc to
      	pass in a dump_user_location_t rather than a location_t; update
      	call to error_at for change in type of "locus".
      	(check_ic_target): Update call to dump_printf_loc to
      	pass in a dump_user_location_t rather than a location_t, via the
      	call_stmt.
      
      From-SVN: r262149
      David Malcolm committed
  19. 08 Jun, 2018 1 commit
    • 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
  20. 30 May, 2018 1 commit
    • passes.c (ipa_write_summaries): Only modify statements if body is in memory. · 5b42d196
      	* passes.c (ipa_write_summaries): Only modify statements if body
      	is in memory.
      	* cgraphunit.c (ipa_passes): Also produce intermeidate code when
      	incrementally linking.
      	(ipa_passes): Likewise.
      	* lto-cgraph.c (lto_output_node): When incrementally linking do not
      	pass down resolution info.
      	* common.opt (flag_incremental_link): Update info.
      	* gcc.c (plugin specs): Turn flinker-output=* to
      	-plugin-opt=-linker-output-known
      	* toplev.c (compile_file): Also cut compilation when doing incremental
      	link.
      	* flag-types. (enum lto_partition_model): Add
      	LTO_LINKER_OUTPUT_NOLTOREL.
      	(invoke.texi): Add -flinker-output docs.
      	* ipa.c (symbol_table::remove_unreachable_nodes): Handle LTO incremental
      	link same way as WPA; do not stream in dead initializers.
      
      	* dwarf2out.c (dwarf2out_die_ref_for_decl,
      	darf2out_register_external_decl): Support incremental link.
      
      	* lang.opt (lto_linker_output): Add nolto-rel.
      	* lto-lang.c (lto_post_options): Handle LTO_LINKER_OUTPUT_REL
      	and LTO_LINKER_OUTPUT_NOLTOREL.
      	(lto_init): Generate lto when doing incremental link.
      	* lto.c (lto_precess_name): Add lto1-inclink.
      
      	* testsuite/g++.dg/lto/20081109-1_0.C: Add -flinker-output=nolto-rel.
      	* testsuite/g++.dg/lto/20081118_0.C: Add -flinker-output=nolto-rel.
      	* testsuite/g++.dg/lto/20081119-1_0.C: Add -flinker-output=nolto-rel.
      	* testsuite/g++.dg/lto/20081120-1_0.C: Add -flinker-output=nolto-rel.
      	* testsuite/g++.dg/lto/20081120-2_0.C: Add -flinker-output=nolto-rel.
      	* testsuite/g++.dg/lto/20081123_0.C: Add -flinker-output=nolto-rel.
      	* testsuite/g++.dg/lto/20081204-1_0.C: Add -flinker-output=nolto-rel.
      	* testsuite/g++.dg/lto/20081219_0.C: Add -flinker-output=nolto-rel.
      	* testsuite/g++.dg/lto/20090302_0.C: Add -flinker-output=nolto-rel.
      	* testsuite/g++.dg/lto/20090313_0.C: Add -flinker-output=nolto-rel.
      	* testsuite/g++.dg/lto/20091002-2_0.C: Add -flinker-output=nolto-rel.
      	* testsuite/g++.dg/lto/20091002-3_0.C: Add -flinker-output=nolto-rel.
      	* testsuite/g++.dg/lto/20091026-1_0.C: Add -flinker-output=nolto-rel.
      	* testsuite/g++.dg/lto/20100724-1_0.C: Add -flinker-output=nolto-rel.
      	* testsuite/g++.dg/lto/20101010-4_0.C: Add -flinker-output=nolto-rel.
      	* testsuite/g++.dg/lto/20101015-2_0.C: Add -flinker-output=nolto-rel.
      	* testsuite/g++.dg/lto/20110311-1_0.C: Add -flinker-output=nolto-rel.
      	* testsuite/g++.dg/lto/pr45621_0.C: Add -flinker-output=nolto-rel.
      	* testsuite/g++.dg/lto/pr48042_0.C: Add -flinker-output=nolto-rel.
      	* testsuite/g++.dg/lto/pr48354-1_0.C: Add -flinker-output=nolto-rel.
      	* testsuite/g++.dg/lto/pr54625-1_0.c: Add -flinker-output=nolto-rel.
      	* testsuite/g++.dg/lto/pr54625-2_0.c: Add -flinker-output=nolto-rel.
      	* testsuite/g++.dg/lto/pr68811_0.C: Add -flinker-output=nolto-rel.
      	* testsuite/g++.dg/torture/pr43760.C: New test. Add -flinker-output=nolto-rel.
      	* testsuite/gcc.dg/lto/20081120-1_0.c: Add -flinker-output=nolto-rel.
      	* testsuite/gcc.dg/lto/20081120-2_0.c: Add -flinker-output=nolto-rel.
      	* testsuite/gcc.dg/lto/20081126_0.c: Add -flinker-output=nolto-rel.
      	* testsuite/gcc.dg/lto/20081204-1_0.c: Add -flinker-output=nolto-rel.
      	* testsuite/gcc.dg/lto/20081204-2_0.c: Add -flinker-output=nolto-rel.
      	* testsuite/gcc.dg/lto/20081212-1_0.c: Add -flinker-output=nolto-rel.
      	* testsuite/gcc.dg/lto/20081224_0.c: Add -flinker-output=nolto-rel.
      	* testsuite/gcc.dg/lto/20090116_0.c: Add -flinker-output=nolto-rel.
      	* testsuite/gcc.dg/lto/20090126-1_0.c: Add -flinker-output=nolto-rel.
      	* testsuite/gcc.dg/lto/20090126-2_0.c: Add -flinker-output=nolto-rel.
      	* testsuite/gcc.dg/lto/20090206-1_0.c: Add -flinker-output=nolto-rel.
      	* testsuite/gcc.dg/lto/20090219_0.c: Add -flinker-output=nolto-rel.
      	* testsuite/gcc.dg/lto/20091013-1_0.c: Add -flinker-output=nolto-rel.
      	* testsuite/gcc.dg/lto/20091014-1_0.c: Add -flinker-output=nolto-rel.
      	* testsuite/gcc.dg/lto/20091015-1_0.c: Add -flinker-output=nolto-rel.
      	* testsuite/gcc.dg/lto/20091016-1_0.c: Add -flinker-output=nolto-rel.
      	* testsuite/gcc.dg/lto/20091020-1_0.c: Add -flinker-output-nolto-rel.
      	* testsuite/gcc.dg/lto/20091020-2_0.c: Add -flinker-output-nolto-rel.
      	* testsuite/gcc.dg/lto/20091027-1_0.c: Add -flinker-output-nolto-rel.
      	* testsuite/gcc.dg/lto/20100426_0.c: Add -flinker-output-nolto-rel.
      	* testsuite/gcc.dg/lto/20100430-1_0.c: Add -flinker-output-nolto-rel.
      	* testsuite/gcc.dg/lto/20100603-1_0.c: Add -flinker-output-nolto-rel.
      	* testsuite/gcc.dg/lto/20100603-2_0.c: Add -flinker-output-nolto-rel.
      	* testsuite/gcc.dg/lto/20100603-3_0.c: Add -flinker-output-nolto-rel.
      	* testsuite/gcc.dg/lto/20111213-1_0.c: Add -flinker-output-nolto-rel.
      	* testsuite/gcc.dg/lto/pr45736_0.c: Add -flinker-output-nolto-rel.
      	* testsuite/gcc.dg/lto/pr52634_0.c: Add -flinker-output-nolto-rel.
      	* testsuite/gcc.dg/lto/pr54702_0.c: Add -flinker-output-nolto-rel.
      	* testsuite/gcc.dg/lto/pr59323-2_0.c: Add -flinker-output-nolto-rel.
      	* testsuite/gcc.dg/lto/pr59323_0.c: Add -flinker-output-nolto-rel.
      	* testsuite/gcc.dg/lto/pr60820_0.c: Add -flinker-output-nolto-rel.
      	* testsuite/gcc.dg/lto/pr81406_0.c: Add -flinker-output-nolto-rel.
      	* testsuite/gcc.dg/lto/pr83388_0.c: Add -flinker-output-nolto-rel.
      	* testsuite/gfortran.dg/lto/20091016-1_0.f90: Add -flinker-output-nolto-rel.
      	* testsuite/gfortran.dg/lto/20091028-1_0.f90: Add -flinker-output-nolto-rel.
      	* testsuite/gfortran.dg/lto/20091028-2_0.f90: Add -flinker-output-nolto-rel.
      	* testsuite/gfortran.dg/lto/pr46911_0.f: Add -flinker-output-nolto-rel.
      	* testsuite/gfortran.dg/lto/pr47839_0.f90: Add -flinker-output-nolto-rel.
      
      From-SVN: r260963
      Jan Hubicka committed
  21. 22 May, 2018 1 commit
    • Don't mark IFUNC resolver as only called directly · aab778d3
      Since IFUNC resolver is called indirectly, don't mark IFUNC resolver as
      only called directly.  This patch adds ifunc_resolver to cgraph_node,
      sets ifunc_resolver for ifunc attribute and checks ifunc_resolver
      instead of looking up ifunc attribute.
      
      gcc/
      
      	PR target/85345
      	* cgraph.h (cgraph_node::create): Set ifunc_resolver for ifunc
      	attribute.
      	(cgraph_node::create_alias): Likewise.
      	(cgraph_node::get_availability): Check ifunc_resolver instead
      	of looking up ifunc attribute.
      	* cgraphunit.c (maybe_diag_incompatible_alias): Likewise.
      	* varasm.c (do_assemble_alias): Likewise.
      	(assemble_alias): Likewise.
      	(default_binds_local_p_3): Likewise.
      	* cgraph.h (cgraph_node): Add ifunc_resolver.
      	(cgraph_node::only_called_directly_or_aliased_p): Return false
      	for IFUNC resolver.
      	* lto-cgraph.c (input_node): Set ifunc_resolver for ifunc
      	attribute.
      	* symtab.c (symtab_node::verify_base): Verify that ifunc_resolver
      	is equivalent to lookup_attribute ("ifunc", DECL_ATTRIBUTES (decl)).
      	(symtab_node::binds_to_current_def_p): Check ifunc_resolver
      	instead of looking up ifunc attribute.
      
      gcc/testsuite/
      
      	PR target/85345
      	* gcc.target/i386/pr85345.c: New test.
      
      From-SVN: r260547
      H.J. Lu committed
  22. 04 Jan, 2018 1 commit
  23. 03 Jan, 2018 1 commit
  24. 19 Dec, 2017 1 commit
    • read-rtl.c (parse_reg_note_name): Replace Yoda conditions with typical order conditions. · 01512446
      	* read-rtl.c (parse_reg_note_name): Replace Yoda conditions with
      	typical order conditions.
      	* sel-sched.c (extract_new_fences_from): Likewise.
      	* config/visium/constraints.md (J, K, L): Likewise.
      	* config/visium/predicates.md (const_shift_operand): Likewise.
      	* config/visium/visium.c (visium_legitimize_address,
      	visium_legitimize_reload_address): Likewise.
      	* config/m68k/m68k.c (output_reg_adjust, emit_reg_adjust): Likewise.
      	* config/arm/arm.c (arm_block_move_unaligned_straight): Likewise.
      	* config/avr/constraints.md (Y01, Ym1, Y02, Ym2): Likewise.
      	* config/avr/avr-log.c (avr_vdump, avr_log_set_avr_log,
      	SET_DUMP_DETAIL): Likewise.
      	* config/avr/predicates.md (const_8_16_24_operand): Likewise.
      	* config/avr/avr.c (STR_PREFIX_P, avr_popcount_each_byte,
      	avr_is_casesi_sequence, avr_casei_sequence_check_operands,
      	avr_set_core_architecture, avr_set_current_function,
      	avr_legitimize_reload_address, avr_asm_len, avr_print_operand,
      	output_movqi, output_movsisf, avr_out_plus, avr_out_bitop,
      	avr_out_fract, avr_adjust_insn_length, avr_encode_section_info,
      	avr_2word_insn_p, output_reload_in_const, avr_has_nibble_0xf,
      	avr_map_decompose, avr_fold_builtin): Likewise.
      	* config/avr/driver-avr.c (avr_devicespecs_file): Likewise.
      	* config/avr/gen-avr-mmcu-specs.c (str_prefix_p, print_mcu): Likewise.
      	* config/i386/i386.c (ix86_parse_stringop_strategy_string): Likewise.
      	* config/m32c/m32c-pragma.c (m32c_pragma_memregs): Likewise.
      	* config/m32c/m32c.c (m32c_conditional_register_usage,
      	m32c_address_cost): Likewise.
      	* config/m32c/predicates.md (shiftcount_operand,
      	longshiftcount_operand): Likewise.
      	* config/iq2000/iq2000.c (iq2000_expand_prologue): Likewise.
      	* config/nios2/nios2.c (nios2_handle_custom_fpu_insn_option,
      	can_use_cdx_ldstw): Likewise.
      	* config/nios2/nios2.h (CDX_REG_P): Likewise.
      	* config/cr16/cr16.h (RETURN_ADDR_RTX, REGNO_MODE_OK_FOR_BASE_P):
      	Likewise.
      	* config/cr16/cr16.md (*mov<mode>_double): Likewise.
      	* config/cr16/cr16.c (cr16_create_dwarf_for_multi_push): Likewise.
      	* config/h8300/h8300.c (h8300_rtx_costs, get_shift_alg): Likewise.
      	* config/vax/constraints.md (U06, U08, U16, CN6, S08, S16): Likewise.
      	* config/vax/vax.c (adjacent_operands_p): Likewise.
      	* config/ft32/constraints.md (L, b, KA): Likewise.
      	* config/ft32/ft32.c (ft32_load_immediate, ft32_expand_prologue):
      	Likewise.
      	* cfgexpand.c (expand_stack_alignment): Likewise.
      	* gcse.c (insert_expr_in_table): Likewise.
      	* print-rtl.c (rtx_writer::print_rtx_operand_codes_E_and_V): Likewise.
      	* cgraphunit.c (cgraph_node::expand): Likewise.
      	* ira-build.c (setup_min_max_allocno_live_range_point): Likewise.
      	* emit-rtl.c (add_insn): Likewise.
      	* input.c (dump_location_info): Likewise.
      	* passes.c (NEXT_PASS): Likewise.
      	* read-rtl-function.c (parse_note_insn_name,
      	function_reader::read_rtx_operand_r, function_reader::parse_mem_expr):
      	Likewise.
      	* sched-rgn.c (sched_rgn_init): Likewise.
      	* diagnostic-show-locus.c (layout::show_ruler): Likewise.
      	* combine.c (find_split_point, simplify_if_then_else, force_to_mode,
      	if_then_else_cond, simplify_shift_const_1, simplify_comparison): Likewise.
      	* explow.c (eliminate_constant_term): Likewise.
      	* final.c (leaf_renumber_regs_insn): Likewise.
      	* cfgrtl.c (print_rtl_with_bb): Likewise.
      	* genhooks.c (emit_init_macros): Likewise.
      	* poly-int.h (maybe_ne, maybe_le, maybe_lt): Likewise.
      	* tree-data-ref.c (conflict_fn): Likewise.
      	* selftest.c (assert_streq): Likewise.
      	* expr.c (store_constructor_field, expand_expr_real_1): Likewise.
      	* fold-const.c (fold_range_test, extract_muldiv_1, fold_truth_andor,
      	fold_binary_loc, multiple_of_p): Likewise.
      	* reload.c (push_reload, find_equiv_reg): Likewise.
      	* et-forest.c (et_nca, et_below): Likewise.
      	* dbxout.c (dbxout_symbol_location): Likewise.
      	* reorg.c (relax_delay_slots): Likewise.
      	* dojump.c (do_compare_rtx_and_jump): Likewise.
      	* gengtype-parse.c (type): Likewise.
      	* simplify-rtx.c (simplify_gen_ternary, simplify_gen_relational,
      	simplify_const_relational_operation): Likewise.
      	* reload1.c (do_output_reload): Likewise.
      	* dumpfile.c (get_dump_file_info_by_switch): Likewise.
      	* gengtype.c (type_for_name): Likewise.
      	* gimple-ssa-sprintf.c (format_directive): Likewise.
      ada/
      	* gcc-interface/trans.c (Loop_Statement_to_gnu): Replace Yoda
      	conditions with typical order conditions.
      	* gcc-interface/misc.c (gnat_get_array_descr_info,
      	default_pass_by_ref): Likewise.
      	* gcc-interface/decl.c (gnat_to_gnu_entity): Likewise.
      	* adaint.c (__gnat_tmp_name): Likewise.
      c-family/
      	* known-headers.cc (get_stdlib_header_for_name): Replace Yoda
      	conditions with typical order conditions.
      c/
      	* c-typeck.c (comptypes_internal, function_types_compatible_p,
      	perform_integral_promotions, digest_init): Replace Yoda conditions
      	with typical order conditions.
      	* c-decl.c (check_bitfield_type_and_width): Likewise.
      cp/
      	* name-lookup.c (get_std_name_hint): Replace Yoda conditions with
      	typical order conditions.
      	* class.c (check_bitfield_decl): Likewise.
      	* pt.c (convert_template_argument): Likewise.
      	* decl.c (duplicate_decls): Likewise.
      	* typeck.c (commonparms): Likewise.
      fortran/
      	* scanner.c (preprocessor_line): Replace Yoda conditions with typical
      	order conditions.
      	* dependency.c (check_section_vs_section): Likewise.
      	* trans-array.c (gfc_conv_expr_descriptor): Likewise.
      jit/
      	* jit-playback.c (get_type, playback::compile_to_file::copy_file,
      	playback::context::acquire_mutex): Replace Yoda conditions with
      	typical order conditions.
      	* libgccjit.c (gcc_jit_context_new_struct_type,
      	gcc_jit_struct_set_fields, gcc_jit_context_new_union_type,
      	gcc_jit_context_new_function, gcc_jit_timer_pop): Likewise.
      	* jit-builtins.c (matches_builtin): Likewise.
      	* jit-recording.c (recording::compound_type::set_fields,
      	recording::fields::write_reproducer, recording::rvalue::set_scope,
      	recording::function::validate): Likewise.
      	* jit-logging.c (logger::decref): Likewise.
      
      From-SVN: r255831
      Jakub Jelinek committed
  25. 14 Nov, 2017 1 commit
    • auto-profile.c (afdo_annotate_cfg): Use update_max_bb_count. · fc06ae0d
      	* auto-profile.c (afdo_annotate_cfg): Use update_max_bb_count.
      	* cgraphunit.c (cgraph_node::expand_thunk): Use update_max_bb_count.
      	* ipa-utils.c (ipa_merge_profiles): Use update_max_bb_count.
      	* lto-streamer-in.c (input_function): Use update_max_bb_count.
      	* omp-expand.c (expand_omp_taskreg): Use update_max_bb_count.
      	* predict.c (maybe_hot_frequency_p): Inline to ...
      	(maybe_hot_count_p): ... here; rewrite to counts.
      	(counts_to_freqs): Rename to ...
      	(update_max_bb_count): ... this one.
      	(expensive_function_p): Use counts.
      	(estimate_bb_frequencies): Update.
      	(rebuild_frequencies): Update.
      	* predict.h (counts_to_freqs): Rename to ...
      	(update_max_bb_count): ... this one.
      	* profile.c (compute_branch_probabilities): Add debug info
      	* tree-inline.c (expand_call_inline): Update debug info.
      	(optimize_inline_calls): Use update_max_bb_count..
      	(tree_function_versioning): Use update_max_bb_count..
      	* value-prof.c (gimple_value_profile_transformations):
      	Do not use update_max_bb_count.
      
      From-SVN: r254725
      Jan Hubicka committed
  26. 10 Nov, 2017 1 commit
    • auto-profile.c (afdo_indirect_call): Drop frequency. · 1bad9c18
      	* auto-profile.c (afdo_indirect_call): Drop frequency.
      	* cgraph.c (symbol_table::create_edge): Drop frequency argument.
      	(cgraph_node::create_edge): Drop frequency argument.
      	(cgraph_node::create_indirect_edge): Drop frequency argument.
      	(cgraph_edge::make_speculative): Drop frequency arguments.
      	(cgraph_edge::resolve_speculation): Do not update frequencies
      	(cgraph_edge::dump_edge_flags): Do not dump frequency.
      	(cgraph_node::dump): Check consistency in IPA mode.
      	(cgraph_edge::maybe_hot_p): Use IPA counter.
      	(cgraph_edge::verify_count_and_frequency): Rename to ...
      	(cgraph_edge::verify_count): ... this one; drop frequency checking.
      	(cgraph_node::verify_node): Update.
      	* cgraph.h (struct cgraph_edge): Drop frequency.
      	(cgraph_edge::frequency): New function.
      	* cgraphbuild.c (pass_build_cgraph_edges::execute): Donot pass
      	frequencies.
      	(cgraph_edge::rebuild_edges): Likewise.
      	* cgraphclones.c (cgraph_edge::clone): Scale only counts.
      	(duplicate_thunk_for_node): Do not pass frequency.
      	(cgraph_node::create_clone): Scale only counts.
      	(cgraph_node::create_virtual_clone): Do not pass frequency.
      	(cgraph_node::create_edge_including_clones): Do not pass frequency.
      	(cgraph_node::create_version_clone): Do not pass frequency.
      	* cgraphunit.c (cgraph_node::analyze): Do not pass frequency.
      	(cgraph_node::expand_thunk): Do not pass frequency.
      	(cgraph_node::create_wrapper): Do not pass frequency.
      	* gimple-iterator.c (update_call_edge_frequencies): Do not pass
      	frequency.
      	* gimple-streamer-in.c (input_bb): Scale only IPA counts.
      	* ipa-chkp.c (chkp_produce_thunks): Do not pass frequency.
      	* ipa-cp.c (ipcp_lattice::print): Use frequency function.
      	(gather_caller_stats): Use frequency function.
      	(ipcp_cloning_candidate_p): Use frequency function.
      	(ipcp_propagate_stage): Use frequency function.
      	(get_info_about_necessary_edges): Use frequency function.
      	(update_profiling_info): Update only IPA profile.
      	(update_specialized_profile): Use frequency functoin.
      	(perhaps_add_new_callers): Update only IPA profile.
      	* ipa-devirt.c (ipa_devirt): Use IPA profile.
      	* ipa-fnsummary.c (redirect_to_unreachable): Do not set frequrency.
      	(dump_ipa_call_summary): Use frequency function.
      	(estimate_edge_size_and_time): Use frequency function.
      	(ipa_merge_fn_summary_after_inlining): Use frequency function.
      	* ipa-inline-analysis.c (do_estimate_edge_time): Use IPA profile.
      	* ipa-inline-transform.c (update_noncloned_frequencies): Rename to ..
      	(update_noncloned_counts): ... ths one; scale counts only.
      	(clone_inlined_nodes): Do not scale frequency.
      	(inline_call): Do not pass frequency.
      	* ipa-inline.c (compute_uninlined_call_time): Use IPA profile.
      	(compute_inlined_call_time): Use IPA profile.
      	(want_inline_small_function_p): Use IPA profile.
      	(want_inline_self_recursive_call_p): Use IPA profile.
      	(edge_badness): Use IPA profile.
      	(lookup_recursive_calls): Use IPA profile.
      	(recursive_inlining): Do not pass frequency.
      	(resolve_noninline_speculation): Do not update frequency.
      	(inline_small_functions): Collect max of IPA profile.
      	(dump_overall_stats): Dump IPA porfile.
      	(dump_inline_stats): Dump IPA porfile.
      	(ipa_inline): Collect IPA stats.
      	* ipa-inline.h (clone_inlined_nodes): Update prototype.
      	* ipa-profile.c (ipa_propagate_frequency_1): Use frequency function.
      	(ipa_propagate_frequency): Use frequency function.
      	(ipa_profile): Cleanup.
      	* ipa-prop.c (ipa_make_edge_direct_to_target): Do not pass frequency
      	* ipa-utils.c (ipa_merge_profiles): Merge all profiles.
      	* lto-cgraph.c (lto_output_edge): Do not stream frequency.
      	(input_node): Do not stream frequency.
      	(input_edge): Do not stream frequency.
      	(merge_profile_summaries): Scale only IPA profiles.
      	* omp-simd-clone.c (simd_clone_adjust): Do not pass frequency.
      	* predict.c (drop_profile): Do not recompute frequency.
      	* trans-mem.c (ipa_tm_insert_irr_call): Do not pass frequency.
      	(ipa_tm_insert_gettmclone_call): Do not pass frequency.
      	* tree-cfg.c (execute_fixup_cfg): Drop profile to global0 if needed.
      	* tree-chkp.c (chkp_copy_bounds_for_assign): Do not pass frequency.
      	* tree-emutls.c (gen_emutls_addr): Do not pass frequency.
      	* tree-inline.c (copy_bb): Do not scale frequency.
      	(expand_call_inline): Do not scale frequency.
      	(tree_function_versioning): Do not scale frequency.
      	* ubsan.c (ubsan_create_edge): Do not pass frequency.
      
      lto/ChangeLog:
      
      2017-11-10  Jan Hubicka  <hubicka@ucw.cz>
      
      	* lto-partition.c (lto_balanced_map): Use frequency accessor.
      
      From-SVN: r254636
      Jan Hubicka committed
  27. 03 Nov, 2017 1 commit
    • asan.c (create_cond_insert_point): Maintain profile. · e7a74006
      	* asan.c (create_cond_insert_point): Maintain profile.
      	* ipa-utils.c (ipa_merge_profiles): Be sure only IPA profiles are
      	merged.
      	* basic-block.h (struct basic_block_def): Remove frequency.
      	(EDGE_FREQUENCY): Use to_frequency
      	* bb-reorder.c (push_to_next_round_p): Use only IPA counts for global
      	heuristics.
      	(find_traces): Update to use to_frequency.
      	(find_traces_1_round): Likewise; use only IPA counts.
      	(bb_to_key): Likewise.
      	(connect_traces): Use IPA counts only.
      	(copy_bb_p): Update to use to_frequency.
      	(fix_up_crossing_landing_pad): Likewise.
      	(sanitize_hot_paths): Likewise.
      	* bt-load.c (basic_block_freq): Likewise.
      	* cfg.c (init_flow): Set count_max to uninitialized.
      	(check_bb_profile): Remove frequencies; check counts.
      	(dump_bb_info): Do not dump frequencies.
      	(update_bb_profile_for_threading): Update counts only.
      	(scale_bbs_frequencies_int): Likewise.
      	(MAX_SAFE_MULTIPLIER): Remove.
      	(scale_bbs_frequencies_gcov_type): Update counts only.
      	(scale_bbs_frequencies_profile_count): Update counts only.
      	(scale_bbs_frequencies): Update counts only.
      	* cfg.h (struct control_flow_graph): Add count-max.
      	(update_bb_profile_for_threading): Update prototype.
      	* cfgbuild.c (find_bb_boundaries): Do not update frequencies.
      	(find_many_sub_basic_blocks): Likewise.
      	* cfgcleanup.c (try_forward_edges): Likewise.
      	(try_crossjump_to_edge): Likewise.
      	* cfgexpand.c (expand_gimple_cond): Likewise.
      	(expand_gimple_tailcall): Likewise.
      	(construct_init_block): Likewise.
      	(construct_exit_block): Likewise.
      	* cfghooks.c (verify_flow_info): Check consistency of counts.
      	(dump_bb_for_graph): Do not dump frequencies.
      	(split_block_1): Do not update frequencies.
      	(split_edge): Do not update frequencies.
      	(make_forwarder_block): Do not update frequencies.
      	(duplicate_block): Do not update frequencies.
      	(account_profile_record): Do not update frequencies.
      	* cfgloop.c (find_subloop_latch_edge_by_profile): Use IPA counts
      	for global heuristics.
      	* cfgloopanal.c (average_num_loop_insns): Update to use to_frequency.
      	(expected_loop_iterations_unbounded): Use counts only.
      	* cfgloopmanip.c (scale_loop_profile): Simplify.
      	(create_empty_loop_on_edge): Simplify
      	(loopify): Simplify
      	(duplicate_loop_to_header_edge): Simplify
      	* cfgrtl.c (force_nonfallthru_and_redirect): Update profile.
      	(update_br_prob_note): Take care of removing note when profile
      	becomes undefined.
      	(relink_block_chain): Do not dump frequency.
      	(rtl_account_profile_record): Use to_frequency.
      	* cgraph.c (symbol_table::create_edge): Convert count to ipa count.
      	(cgraph_edge::redirect_call_stmt_to_calle): Conver tcount to ipa count.
      	(cgraph_update_edges_for_call_stmt_node): Likewise.
      	(cgraph_edge::verify_count_and_frequency): Update.
      	(cgraph_node::verify_node): Temporarily disable frequency verification.
      	* cgraphbuild.c (compute_call_stmt_bb_frequency): Use
      	to_cgraph_frequency.
      	(cgraph_edge::rebuild_edges): Convert to ipa counts.
      	* cgraphunit.c (init_lowered_empty_function): Do not initialize
      	frequencies.
      	(cgraph_node::expand_thunk): Update profile.
      	* except.c (dw2_build_landing_pads): Do not update frequency.
      	* final.c (compute_alignments): Use to_frequency.
      	(dump_basic_block_info): Do not dump frequency.
      	* gimple-pretty-print.c (dump_profile): Do not dump frequency.
      	(dump_gimple_bb_header): Do not dump frequency.
      	* gimple-ssa-isolate-paths.c (isolate_path): Do not update frequency;
      	do update count.
      	* gimple-streamer-in.c (input_bb): Do not stream frequency.
      	* gimple-streamer-out.c (output_bb): Do not stream frequency.
      	* haifa-sched.c (sched_pressure_start_bb): Use to_freuqency.
      	(init_before_recovery): Do not update frequency.
      	(sched_create_recovery_edges): Do not update frequency.
      	* hsa-gen.c (convert_switch_statements): Do not update frequency.
      	* ipa-cp.c (ipcp_propagate_stage): Update search for max_count.
      	(ipa_cp_c_finalize): Set max_count to uninitialized.
      	* ipa-fnsummary.c (get_minimal_bb): Use counts.
      	(param_change_prob): Use counts.
      	* ipa-profile.c (ipa_profile_generate_summary): Do not summarize
      	local profiles.
      	* ipa-split.c (consider_split): Use to_frequency.
      	(split_function): Use to_frequency.
      	* ira-build.c (loop_compare_func): Likewise.
      	(mark_loops_for_removal): Likewise.
      	(mark_all_loops_for_removal): Likewise.
      	* loop-doloop.c (doloop_modify): Do not update frequency.
      	* loop-unroll.c (unroll_loop_runtime_iterations): Do not update
      	frequency.
      	* lto-streamer-in.c (input_function): Update count_max.
      	* omp-expand.c (expand_omp_taskreg): Update count_max.
      	* omp-simd-clone.c (simd_clone_adjust): Update profile.
      	* predict.c (maybe_hot_frequency_p): Use to_frequency.
      	(maybe_hot_count_p): Use ipa counts only.
      	(maybe_hot_bb_p): Simplify.
      	(maybe_hot_edge_p): Simplify.
      	(probably_never_executed): Do not take frequency argument.
      	(probably_never_executed_bb_p): Do not pass frequency.
      	(probably_never_executed_edge_p): Likewise.
      	(combine_predictions_for_bb): Check that profile is nonzero.
      	(propagate_freq): Do not set frequency.
      	(drop_profile): Simplify.
      	(counts_to_freqs): Simplify.
      	(expensive_function_p): Use to_frequency.
      	(propagate_unlikely_bbs_forward): Simplify.
      	(determine_unlikely_bbs): Simplify.
      	(estimate_bb_frequencies): Add hack to silence graphite issues.
      	(compute_function_frequency): Use ipa counts.
      	(pass_profile::execute): Update.
      	(rebuild_frequencies): Use counts only.
      	(force_edge_cold): Use counts only.
      	* profile-count.c (profile_count::dump): Dump new count types.
      	(profile_count::differs_from_p): Check compatiblity.
      	(profile_count::to_frequency): New function.
      	(profile_count::to_cgraph_frequency): New function.
      	* profile-count.h (struct function): Declare.
      	(enum profile_quality): Add profile_guessed_local and
      	profile_guessed_global0.
      	(class profile_proability): Decrease number of bits to 29;
      	update from_reg_br_prob_note and to_reg_br_prob_note.
      	(class profile_count: Update comment; decrease number of bits
      	to 61. Check compatibility.
      	(profile_count::compatible_p): New private member function.
      	(profile_count::ipa_p): New member function.
      	(profile_count::operator<): Handle global zero correctly.
      	(profile_count::operator>): Handle global zero correctly.
      	(profile_count::operator<=): Handle global zero correctly.
      	(profile_count::operator>=): Handle global zero correctly.
      	(profile_count::nonzero_p): New member function.
      	(profile_count::force_nonzero): New member function.
      	(profile_count::max): New member function.
      	(profile_count::apply_scale): Handle IPA scalling.
      	(profile_count::guessed_local): New member function.
      	(profile_count::global0): New member function.
      	(profile_count::ipa): New member function.
      	(profile_count::to_frequency): Declare.
      	(profile_count::to_cgraph_frequency): Declare.
      	* profile.c (OVERLAP_BASE): Delete.
      	(compute_frequency_overlap): Delete.
      	(compute_branch_probabilities): Do not use compute_frequency_overlap.
      	* regs.h (REG_FREQ_FROM_BB): Use to_frequency.
      	* sched-ebb.c (rank): Use counts only.
      	* shrink-wrap.c (handle_simple_exit): Use counts only.
      	(try_shrink_wrapping): Use counts only.
      	(place_prologue_for_one_component): Use counts only.
      	* tracer.c (find_best_predecessor): Use to_frequency.
      	(find_trace): Use to_frequency.
      	(tail_duplicate): Use to_frequency.
      	* trans-mem.c (expand_transaction): Do not update frequency.
      	* tree-call-cdce.c: Do not update frequency. 
      	* tree-cfg.c (gimple_find_sub_bbs): Likewise.
      	(gimple_merge_blocks): Likewise.
      	(gimple_split_edge): Likewise.
      	(gimple_duplicate_sese_region): Likewise.
      	(gimple_duplicate_sese_tail): Likewise.
      	(move_sese_region_to_fn): Likewise.
      	(gimple_account_profile_record): Likewise.
      	(insert_cond_bb): Likewise.
      	* tree-complex.c (expand_complex_div_wide): Likewise.
      	* tree-eh.c (lower_resx): Update profile.
      	* tree-inline.c (copy_bb): Simplify count scaling; do not scale
      	frequencies.
      	(initialize_cfun): Do not initialize frequencies
      	(freqs_to_counts): Delete.
      	(copy_cfg_body): Ignore count parameter.
      	(copy_body): Update.
      	(expand_call_inline): Update count_max.
      	(optimize_inline_calls): Update count_max.
      	(tree_function_versioning): Update count_max.
      	* tree-ssa-coalesce.c (coalesce_cost_bb): Use to_frequency.
      	* tree-ssa-ifcombine.c (update_profile_after_ifcombine): Do not update
      	frequency.
      	* tree-ssa-loop-im.c (execute_sm_if_changed): Use counts only.
      	* tree-ssa-loop-ivcanon.c (unloop_loops): Do not update freuqency.
      	(try_peel_loop): Likewise.
      	* tree-ssa-loop-ivopts.c (get_scaled_computation_cost_at): Use
      	to_frequency.
      	* tree-ssa-loop-manip.c (niter_for_unrolled_loop): Pass -1.
      	(tree_transform_and_unroll_loop): Do not use frequencies
      	* tree-ssa-loop-niter.c (estimate_numbers_of_iterations):
      	Use reliable prediction only.
      	* tree-ssa-loop-unswitch.c (hoist_guard): Do not use frequencies.
      	* tree-ssa-sink.c (select_best_block): Use to_frequency.
      	* tree-ssa-tail-merge.c (replace_block_by): Temporarily disable
      	probability scaling.
      	* tree-ssa-threadupdate.c (create_block_for_threading): Do
      	not update frequency
      	(any_remaining_duplicated_blocks): Likewise.
      	(update_profile): Likewise.
      	(estimated_freqs_path): Delete.
      	(freqs_to_counts_path): Delete.
      	(clear_counts_path): Delete.
      	(ssa_fix_duplicate_block_edges): Likewise.
      	(duplicate_thread_path): Likewise.
      	* tree-switch-conversion.c (gen_inbound_check): Use counts.
      	* tree-tailcall.c (decrease_profile): Do not update frequency.
      	(eliminate_tail_call): Likewise.
      	* tree-vect-loop-manip.c (vect_do_peeling): Likewise.
      	* tree-vect-loop.c (scale_profile_for_vect_loop): Likewise.
      	(optimize_mask_stores): Likewise.
      	* tree-vect-stmts.c (vectorizable_simd_clone_call): Likewise.
      	* ubsan.c (ubsan_expand_null_ifn): Update profile.
      	(ubsan_expand_ptr_ifn): Update profile.
      	* value-prof.c (gimple_ic): Simplify.
      	* value-prof.h (gimple_ic): Update prototype.
      	* ipa-inline-transform.c (inline_transform): Fix scaling conditoins.
      	* ipa-inline.c (compute_uninlined_call_time): Be sure that
      	counts are nonzero.
      	(want_inline_self_recursive_call_p): Likewise.
      	(resolve_noninline_speculation): Only cummulate defined counts.
      	(inline_small_functions): Use nonzero_p.
      	(ipa_inline): Do not access freed node.
      
      Unknown ChangeLog:
      
      2017-11-02  Jan Hubicka  <hubicka@ucw.cz>
      
      	* testsuite/gcc.dg/no-strict-overflow-3.c (foo): Update magic
      	value to not clash with frequency.
      	* testsuite/gcc.dg/strict-overflow-3.c (foo): Likewise.
      	* testsuite/gcc.dg/tree-ssa/builtin-sprintf-2.c: Update template.
      	* testsuite/gcc.dg/tree-ssa/dump-2.c: Update template.
      	* testsuite/gcc.dg/tree-ssa/ifc-10.c: Update template.
      	* testsuite/gcc.dg/tree-ssa/ifc-11.c: Update template.
      	* testsuite/gcc.dg/tree-ssa/ifc-12.c: Update template.
      	* testsuite/gcc.dg/tree-ssa/ifc-20040816-1.c: Update template.
      	* testsuite/gcc.dg/tree-ssa/ifc-20040816-2.c: Update template.
      	* testsuite/gcc.dg/tree-ssa/ifc-5.c: Update template.
      	* testsuite/gcc.dg/tree-ssa/ifc-8.c: Update template.
      	* testsuite/gcc.dg/tree-ssa/ifc-9.c: Update template.
      	* testsuite/gcc.dg/tree-ssa/ifc-cd.c: Update template.
      	* testsuite/gcc.dg/tree-ssa/ifc-pr56541.c: Update template.
      	* testsuite/gcc.dg/tree-ssa/ifc-pr68583.c: Update template.
      	* testsuite/gcc.dg/tree-ssa/ifc-pr69489-1.c: Update template.
      	* testsuite/gcc.dg/tree-ssa/ifc-pr69489-2.c: Update template.
      	* testsuite/gcc.target/i386/pr61403.c: Update template.
      
      From-SVN: r254379
      Jan Hubicka committed
  28. 19 Oct, 2017 1 commit
    • asan.c (create_cond_insert_point): Do not update edge count. · ef30ab83
      	* asan.c (create_cond_insert_point): Do not update edge count.
      	* auto-profile.c (afdo_propagate_edge): Update for edge count removal.
      	(afdo_propagate_circuit): Likewise.
      	(afdo_calculate_branch_prob): Likewise.
      	(afdo_annotate_cfg): Likewise.
      	* basic-block.h (struct edge_def): Remove count.
      	(edge_def::count): New accessor.
      	* bb-reorder.c (rotate_loop): Update.
      	(find_traces_1_round): Update.
      	(connect_traces): Update.
      	(sanitize_hot_paths): Update.
      	* cfg.c (unchecked_make_edge): Update.
      	(make_single_succ_edge): Update.
      	(check_bb_profile): Update.
      	(dump_edge_info): Update.
      	(update_bb_profile_for_threading): Update.
      	(scale_bbs_frequencies_int): Update.
      	(scale_bbs_frequencies_gcov_type): Update.
      	(scale_bbs_frequencies_profile_count): Update.
      	(scale_bbs_frequencies): Update.
      	* cfganal.c (connect_infinite_loops_to_exit): Update.
      	* cfgbuild.c (compute_outgoing_frequencies): Update.
      	(find_many_sub_basic_blocks): Update.
      	* cfgcleanup.c (try_forward_edges): Update.
      	(try_crossjump_to_edge): Update
      	* cfgexpand.c (expand_gimple_cond): Update
      	(expand_gimple_tailcall): Update
      	(construct_exit_block): Update
      	* cfghooks.c (verify_flow_info): Update
      	(redirect_edge_succ_nodup): Update
      	(split_edge): Update
      	(make_forwarder_block): Update
      	(duplicate_block): Update
      	(account_profile_record): Update
      	* cfgloop.c (find_subloop_latch_edge_by_profile): Update.
      	* cfgloopanal.c (expected_loop_iterations_unbounded): Update.
      	* cfgloopmanip.c (scale_loop_profile): Update.
      	(loopify): Update.
      	(lv_adjust_loop_entry_edge): Update.
      	* cfgrtl.c (try_redirect_by_replacing_jump): Update.
      	(force_nonfallthru_and_redirect): Update.
      	(purge_dead_edges): Update.
      	(rtl_flow_call_edges_add): Update.
      	* cgraphunit.c (init_lowered_empty_function): Update.
      	(cgraph_node::expand_thunk): Update.
      	* gimple-pretty-print.c (dump_probability): Update.
      	(dump_edge_probability): Update.
      	* gimple-ssa-isolate-paths.c (isolate_path): Update.
      	* haifa-sched.c (sched_create_recovery_edges): Update.
      	* hsa-gen.c (convert_switch_statements): Update.
      	* ifcvt.c (dead_or_predicable): Update.
      	* ipa-inline-transform.c (inline_transform): Update.
      	* ipa-split.c (split_function): Update.
      	* ipa-utils.c (ipa_merge_profiles): Update.
      	* loop-doloop.c (add_test): Update.
      	* loop-unroll.c (unroll_loop_runtime_iterations): Update.
      	* lto-streamer-in.c (input_cfg): Update.
      	(input_function): Update.
      	* lto-streamer-out.c (output_cfg): Update.
      	* modulo-sched.c (sms_schedule): Update.
      	* postreload-gcse.c (eliminate_partially_redundant_load): Update.
      	* predict.c (maybe_hot_edge_p): Update.
      	(unlikely_executed_edge_p): Update.
      	(probably_never_executed_edge_p): Update.
      	(dump_prediction): Update.
      	(drop_profile): Update.
      	(propagate_unlikely_bbs_forward): Update.
      	(determine_unlikely_bbs): Update.
      	(force_edge_cold): Update.
      	* profile.c (compute_branch_probabilities): Update.
      	* reg-stack.c (better_edge): Update.
      	* shrink-wrap.c (handle_simple_exit): Update.
      	* tracer.c (better_p): Update.
      	* trans-mem.c (expand_transaction): Update.
      	(split_bb_make_tm_edge): Update.
      	* tree-call-cdce.c: Update.
      	* tree-cfg.c (gimple_find_sub_bbs): Update.
      	(gimple_split_edge): Update.
      	(gimple_duplicate_sese_region): Update.
      	(gimple_duplicate_sese_tail): Update.
      	(gimple_flow_call_edges_add): Update.
      	(insert_cond_bb): Update.
      	(execute_fixup_cfg): Update.
      	* tree-cfgcleanup.c (cleanup_control_expr_graph): Update.
      	* tree-complex.c (expand_complex_div_wide): Update.
      	* tree-eh.c (lower_resx): Update.
      	(unsplit_eh): Update.
      	(cleanup_empty_eh_move_lp): Update.
      	* tree-inline.c (copy_edges_for_bb): Update.
      	(freqs_to_counts): Update.
      	(copy_cfg_body): Update.
      	* tree-ssa-dce.c (remove_dead_stmt): Update.
      	* tree-ssa-ifcombine.c (update_profile_after_ifcombine): Update.
      	* tree-ssa-loop-im.c (execute_sm_if_changed): Update.
      	* tree-ssa-loop-ivcanon.c (remove_exits_and_undefined_stmts): Update.
      	(unloop_loops): Update.
      	* tree-ssa-loop-manip.c (tree_transform_and_unroll_loop): Update.
      	* tree-ssa-loop-split.c (connect_loops): Update.
      	(split_loop): Update.
      	* tree-ssa-loop-unswitch.c (hoist_guard): Update.
      	* tree-ssa-phionlycprop.c (propagate_rhs_into_lhs): Update.
      	* tree-ssa-phiopt.c (replace_phi_edge_with_variable): Update.
      	* tree-ssa-reassoc.c (branch_fixup): Update.
      	* tree-ssa-tail-merge.c (replace_block_by): Update.
      	* tree-ssa-threadupdate.c (remove_ctrl_stmt_and_useless_edges): Update.
      	(compute_path_counts): Update.
      	(update_profile): Update.
      	(recompute_probabilities): Update.
      	(update_joiner_offpath_counts): Update.
      	(estimated_freqs_path): Update.
      	(freqs_to_counts_path): Update.
      	(clear_counts_path): Update.
      	(ssa_fix_duplicate_block_edges): Update.
      	(duplicate_thread_path): Update.
      	* tree-switch-conversion.c (hoist_edge_and_branch_if_true): Update.
      	(case_bit_test_cmp): Update.
      	(collect_switch_conv_info): Update.
      	(gen_inbound_check): Update.
      	(do_jump_if_equal): Update.
      	(emit_cmp_and_jump_insns): Update.
      	* tree-tailcall.c (decrease_profile): Update.
      	(eliminate_tail_call): Update.
      	* tree-vect-loop-manip.c (slpeel_add_loop_guard): Update.
      	(vect_do_peeling): Update.
      	* tree-vect-loop.c (scale_profile_for_vect_loop): Update.
      	* ubsan.c (ubsan_expand_null_ifn): Update.
      	(ubsan_expand_ptr_ifn): Update.
      	* value-prof.c (gimple_divmod_fixed_value): Update.
      	(gimple_mod_pow2): Update.
      	(gimple_mod_subtract): Update.
      	(gimple_ic): Update.
      	(gimple_stringop_fixed_value): Update.
      
      From-SVN: r253910
      Jan Hubicka committed
  29. 12 Oct, 2017 1 commit
    • PR c/82301 - Updated test case g++.dg/ext/attr-ifunc-1.C (and others) in r253041… · 7a866e7e
      PR c/82301 - Updated test case g++.dg/ext/attr-ifunc-1.C (and others) in r253041 segfault on powerpc64
      
      PR c/82301 - Updated test case g++.dg/ext/attr-ifunc-1.C (and others) in r253041 segfault on powerpc64
      PR c/82435 - new __attribute__((alias)) warning gets in the way
      
      gcc/ChangeLog:
      
      	PR other/82301
      	PR c/82435
      	* cgraphunit.c (maybe_diag_incompatible_alias): New function.
      	(handle_alias_pairs): Call it.
      	* common.opt (-Wattribute-alias): New option.
      	* doc/extend.texi (ifunc attribute): Discuss C++ specifics.
      	* doc/invoke.texi (-Wattribute-alias): Document.
      
      gcc/testsuite/ChangeLog:
      
      	PR other/82301
      	PR c/82435
      	* g++.dg/ext/attr-ifunc-1.C: Update.
      	* g++.dg/ext/attr-ifunc-2.C: Same.
      	* g++.dg/ext/attr-ifunc-3.C: Same.
      	* g++.dg/ext/attr-ifunc-4.C: Same.
      	* g++.dg/ext/attr-ifunc-5.C: Same.
      	* g++.dg/ext/attr-ifunc-6.C: New test.
      	* g++.old-deja/g++.abi/vtable2.C: Update.
      	* gcc.dg/attr-ifunc-6.c: New test.
      	* gcc.dg/attr-ifunc-7.c: New test.
      	* gcc.dg/pr81854.c: Update.
      	* lib/target-supports.exp: Update.
      
      From-SVN: r253688
      Martin Sebor committed
  30. 19 Sep, 2017 1 commit
    • PR c/81854 - weak alias of an incompatible symbol accepted · e32d2388
      gcc/ChangeLog:
      
      	PR c/81854
      	* cgraphunit.c (handle_alias_pairs): Reject aliases between functions
      	of incompatible types.
      
      gcc/testsuite/ChangeLog:
      
      	PR c/81854
      	* gcc.dg/pr81854.c: New test.
      	* g++.dg/ext/attr-ifunc-5.C: New test.
      	* g++.dg/ext/attr-ifunc-1.C: Adjust.
      	* g++.dg/ext/attr-ifunc-2.C: Same.
      	* g++.dg/ext/attr-ifunc-3.C: Same.
      	* g++.dg/ext/attr-ifunc-4.C: Same.
      	* g++.old-deja/g++.abi/vtable2.C: Same.
      	* gcc.dg/attr-ifunc-1.c: Same.
      
      From-SVN: r252976
      Martin Sebor committed
  31. 24 Aug, 2017 1 commit
    • re PR debug/81936 (ICE in dwarf2out_die_ref_for_decl, at dwarf2out.c:5543) · 5d52d2c9
      2017-08-24  Richard Biener  <rguenther@suse.de>
      
      	PR debug/81936
      	* dwarf2out.c (output_die): Handle flag_generate_offload like
      	flag_generate_lto.
      	(output_comp_unit): Likewise.
      	(gen_array_type_die): Likewise.
      	(dwarf2out_early_finish): Likewise.
      	(note_variable_value_in_expr): Likewise.
      	(dwarf2out_finish): Likewise.  Adjust assert.
      	* cgraphunit.c (symbol_table::compile): Move setting of
      	flag_generate_offload earlier ...
      	(symbol_table::finalize_compilation_unit): ... here, before
      	early debug finalization.
      
      From-SVN: r251332
      Richard Biener committed
  32. 08 Aug, 2017 1 commit
    • trans.c: Include header files. · 314e6352
      .
      2017-08-08  Martin Liska  <mliska@suse.cz>
      
      	* gcc-interface/trans.c: Include header files.
      2017-08-08  Martin Liska  <mliska@suse.cz>
      
      	* objc-gnu-runtime-abi-01.c: Include header files.
      	* objc-next-runtime-abi-01.c: Likewise.
      	* objc-next-runtime-abi-02.c: Likewise.
      2017-08-08  Martin Liska  <mliska@suse.cz>
      
      	* asan.c: Include header files.
      	* attribs.c (build_decl_attribute_variant): New function moved
      	from tree.[ch].
      	(build_type_attribute_qual_variant): Likewise.
      	(cmp_attrib_identifiers): Likewise.
      	(simple_cst_list_equal): Likewise.
      	(omp_declare_simd_clauses_equal): Likewise.
      	(attribute_value_equal): Likewise.
      	(comp_type_attributes): Likewise.
      	(build_type_attribute_variant): Likewise.
      	(lookup_ident_attribute): Likewise.
      	(remove_attribute): Likewise.
      	(merge_attributes): Likewise.
      	(merge_type_attributes): Likewise.
      	(merge_decl_attributes): Likewise.
      	(merge_dllimport_decl_attributes): Likewise.
      	(handle_dll_attribute): Likewise.
      	(attribute_list_equal): Likewise.
      	(attribute_list_contained): Likewise.
      	* attribs.h (lookup_attribute): New function moved from tree.[ch].
      	(lookup_attribute_by_prefix): Likewise.
      	* bb-reorder.c: Include header files.
      	* builtins.c: Likewise.
      	* calls.c: Likewise.
      	* cfgexpand.c: Likewise.
      	* cgraph.c: Likewise.
      	* cgraphunit.c: Likewise.
      	* convert.c: Likewise.
      	* dwarf2out.c: Likewise.
      	* final.c: Likewise.
      	* fold-const.c: Likewise.
      	* function.c: Likewise.
      	* gimple-expr.c: Likewise.
      	* gimple-fold.c: Likewise.
      	* gimple-pretty-print.c: Likewise.
      	* gimple.c: Likewise.
      	* gimplify.c: Likewise.
      	* hsa-common.c: Likewise.
      	* hsa-gen.c: Likewise.
      	* internal-fn.c: Likewise.
      	* ipa-chkp.c: Likewise.
      	* ipa-cp.c: Likewise.
      	* ipa-devirt.c: Likewise.
      	* ipa-fnsummary.c: Likewise.
      	* ipa-inline.c: Likewise.
      	* ipa-visibility.c: Likewise.
      	* ipa.c: Likewise.
      	* lto-cgraph.c: Likewise.
      	* omp-expand.c: Likewise.
      	* omp-general.c: Likewise.
      	* omp-low.c: Likewise.
      	* omp-offload.c: Likewise.
      	* omp-simd-clone.c: Likewise.
      	* opts-global.c: Likewise.
      	* passes.c: Likewise.
      	* predict.c: Likewise.
      	* sancov.c: Likewise.
      	* sanopt.c: Likewise.
      	* symtab.c: Likewise.
      	* toplev.c: Likewise.
      	* trans-mem.c: Likewise.
      	* tree-chkp.c: Likewise.
      	* tree-eh.c: Likewise.
      	* tree-into-ssa.c: Likewise.
      	* tree-object-size.c: Likewise.
      	* tree-parloops.c: Likewise.
      	* tree-profile.c: Likewise.
      	* tree-ssa-ccp.c: Likewise.
      	* tree-ssa-live.c: Likewise.
      	* tree-ssa-loop.c: Likewise.
      	* tree-ssa-sccvn.c: Likewise.
      	* tree-ssa-structalias.c: Likewise.
      	* tree-ssa.c: Likewise.
      	* tree-streamer-in.c: Likewise.
      	* tree-vectorizer.c: Likewise.
      	* tree-vrp.c: Likewise.
      	* tsan.c: Likewise.
      	* ubsan.c: Likewise.
      	* varasm.c: Likewise.
      	* varpool.c: Likewise.
      	* tree.c: Remove functions moved to attribs.[ch].
      	* tree.h: Likewise.
      	* config/aarch64/aarch64.c: Add attrs.h header file.
      	* config/alpha/alpha.c: Likewise.
      	* config/arc/arc.c: Likewise.
      	* config/arm/arm.c: Likewise.
      	* config/avr/avr.c: Likewise.
      	* config/bfin/bfin.c: Likewise.
      	* config/c6x/c6x.c: Likewise.
      	* config/cr16/cr16.c: Likewise.
      	* config/cris/cris.c: Likewise.
      	* config/darwin.c: Likewise.
      	* config/epiphany/epiphany.c: Likewise.
      	* config/fr30/fr30.c: Likewise.
      	* config/frv/frv.c: Likewise.
      	* config/ft32/ft32.c: Likewise.
      	* config/h8300/h8300.c: Likewise.
      	* config/i386/winnt.c: Likewise.
      	* config/ia64/ia64.c: Likewise.
      	* config/iq2000/iq2000.c: Likewise.
      	* config/lm32/lm32.c: Likewise.
      	* config/m32c/m32c.c: Likewise.
      	* config/m32r/m32r.c: Likewise.
      	* config/m68k/m68k.c: Likewise.
      	* config/mcore/mcore.c: Likewise.
      	* config/microblaze/microblaze.c: Likewise.
      	* config/mips/mips.c: Likewise.
      	* config/mmix/mmix.c: Likewise.
      	* config/mn10300/mn10300.c: Likewise.
      	* config/moxie/moxie.c: Likewise.
      	* config/msp430/msp430.c: Likewise.
      	* config/nds32/nds32-isr.c: Likewise.
      	* config/nds32/nds32.c: Likewise.
      	* config/nios2/nios2.c: Likewise.
      	* config/nvptx/nvptx.c: Likewise.
      	* config/pa/pa.c: Likewise.
      	* config/pdp11/pdp11.c: Likewise.
      	* config/powerpcspe/powerpcspe.c: Likewise.
      	* config/riscv/riscv.c: Likewise.
      	* config/rl78/rl78.c: Likewise.
      	* config/rx/rx.c: Likewise.
      	* config/s390/s390.c: Likewise.
      	* config/sh/sh.c: Likewise.
      	* config/sol2.c: Likewise.
      	* config/sparc/sparc.c: Likewise.
      	* config/spu/spu.c: Likewise.
      	* config/stormy16/stormy16.c: Likewise.
      	* config/tilegx/tilegx.c: Likewise.
      	* config/tilepro/tilepro.c: Likewise.
      	* config/v850/v850.c: Likewise.
      	* config/vax/vax.c: Likewise.
      	* config/visium/visium.c: Likewise.
      	* config/xtensa/xtensa.c: Likewise.
      2017-08-08  Martin Liska  <mliska@suse.cz>
      
      	* call.c: Include header files.
      	* cp-gimplify.c: Likewise.
      	* cp-ubsan.c: Likewise.
      	* cvt.c: Likewise.
      	* init.c: Likewise.
      	* search.c: Likewise.
      	* semantics.c: Likewise.
      	* typeck.c: Likewise.
      2017-08-08  Martin Liska  <mliska@suse.cz>
      
      	* lto-lang.c: Include header files.
      	* lto-symtab.c: Likewise.
      2017-08-08  Martin Liska  <mliska@suse.cz>
      
      	* c-convert.c: Include header files.
      	* c-typeck.c: Likewise.
      2017-08-08  Martin Liska  <mliska@suse.cz>
      
      	* c-ada-spec.c: Include header files.
      	* c-ubsan.c: Likewise.
      	* c-warn.c: Likewise.
      2017-08-08  Martin Liska  <mliska@suse.cz>
      
      	* trans-types.c: Include header files.
      
      From-SVN: r250946
      Martin Liska committed
  33. 06 Jul, 2017 1 commit
  34. 29 Jun, 2017 1 commit
    • asan.c (asan_emit_stack_protection): Update. · 357067f2
      	* asan.c (asan_emit_stack_protection): Update.
      	(create_cond_insert_point): Update.
      	* auto-profile.c (afdo_propagate_circuit): Update.
      	* basic-block.h (struct edge_def): Turn probability to
      	profile_probability.
      	(EDGE_FREQUENCY): Update.
      	* bb-reorder.c (find_traces_1_round): Update.
      	(better_edge_p): Update.
      	(sanitize_hot_paths): Update.
      	* cfg.c (unchecked_make_edge): Initialize probability to uninitialized.
      	(make_single_succ_edge): Update.
      	(check_bb_profile): Update.
      	(dump_edge_info): Update.
      	(update_bb_profile_for_threading): Update.
      	* cfganal.c (connect_infinite_loops_to_exit): Initialize new edge
      	probabilitycount to 0.
      	* cfgbuild.c (compute_outgoing_frequencies): Update.
      	* cfgcleanup.c (try_forward_edges): Update.
      	(outgoing_edges_match): Update.
      	(try_crossjump_to_edge): Update.
      	* cfgexpand.c (expand_gimple_cond): Update make_single_succ_edge.
      	(expand_gimple_tailcall): Update.
      	(construct_init_block): Use make_single_succ_edge.
      	(construct_exit_block): Use make_single_succ_edge.
      	* cfghooks.c (verify_flow_info): Update.
      	(redirect_edge_succ_nodup): Update.
      	(split_edge): Update.
      	(account_profile_record): Update.
      	* cfgloopanal.c (single_likely_exit): Update.
      	* cfgloopmanip.c (scale_loop_profile): Update.
      	(set_zero_probability): Remove.
      	(duplicate_loop_to_header_edge): Update.
      	* cfgloopmanip.h (loop_version): Update prototype.
      	* cfgrtl.c (try_redirect_by_replacing_jump): Update.
      	(force_nonfallthru_and_redirect): Update.
      	(update_br_prob_note): Update.
      	(rtl_verify_edges): Update.
      	(purge_dead_edges): Update.
      	(rtl_lv_add_condition_to_bb): Update.
      	* cgraph.c: (cgraph_edge::redirect_call_stmt_to_calle): Update.
      	* cgraphunit.c (init_lowered_empty_function): Update.
      	(cgraph_node::expand_thunk): Update.
      	* cilk-common.c: Include profile-count.h
      	* dojump.c (inv): Remove.
      	(jumpifnot): Update.
      	(jumpifnot_1): Update.
      	(do_jump_1): Update.
      	(do_jump): Update.
      	(do_jump_by_parts_greater_rtx): Update.
      	(do_compare_rtx_and_jump): Update.
      	* dojump.h (jumpifnot, jumpifnot_1, jumpif_1, jumpif, do_jump,
      	do_jump_1. do_compare_rtx_and_jump): Update prototype.
      	* dwarf2cfi.c: Include profile-count.h
      	* except.c (dw2_build_landing_pads): Use make_single_succ_edge.
      	(sjlj_emit_dispatch_table): Likewise.
      	* explow.c: Include profile-count.h
      	* expmed.c (emit_store_flag_force): Update.
      	(do_cmp_and_jump): Update.
      	* expr.c (compare_by_pieces_d::generate): Update.
      	(compare_by_pieces_d::finish_mode): Update.
      	(emit_block_move_via_loop): Update.
      	(store_expr_with_bounds): Update.
      	(store_constructor): Update.
      	(expand_expr_real_2): Update.
      	(expand_expr_real_1): Update.
      	* expr.h (try_casesi, try_tablejump): Update prototypes.
      	* gimple-pretty-print.c (dump_probability): Update.
      	(dump_profile): New.
      	(dump_gimple_label): Update.
      	(dump_gimple_bb_header): Update.
      	* graph.c (draw_cfg_node_succ_edges): Update.
      	* hsa-gen.c (convert_switch_statements): Update.
      	* ifcvt.c (cheap_bb_rtx_cost_p): Update.
      	(find_if_case_1): Update.
      	(find_if_case_2): Update.
      	* internal-fn.c (expand_arith_overflow_result_store): Update.
      	(expand_addsub_overflow): Update.
      	(expand_neg_overflow): Update.
      	(expand_mul_overflow): Update.
      	(expand_vector_ubsan_overflow): Update.
      	* ipa-cp.c (good_cloning_opportunity_p): Update.
      	* ipa-split.c (split_function): Use make_single_succ_edge.
      	* ipa-utils.c (ipa_merge_profiles): Update.
      	* loop-doloop.c (add_test): Update.
      	(doloop_modify): Update.
      	* loop-unroll.c (compare_and_jump_seq): Update.
      	(unroll_loop_runtime_iterations): Update.
      	* lra-constraints.c (lra_inheritance): Update.
      	* lto-streamer-in.c (input_cfg): Update.
      	* lto-streamer-out.c (output_cfg): Update.
      	* mcf.c (adjust_cfg_counts): Update.
      	* modulo-sched.c (sms_schedule): Update.
      	* omp-expand.c (expand_omp_for_init_counts): Update.
      	(extract_omp_for_update_vars): Update.
      	(expand_omp_ordered_sink): Update.
      	(expand_omp_for_ordered_loops): Update.
      	(expand_omp_for_generic): Update.
      	(expand_omp_for_static_nochunk): Update.
      	(expand_omp_for_static_chunk): Update.
      	(expand_cilk_for): Update.
      	(expand_omp_simd): Update.
      	(expand_omp_taskloop_for_outer): Update.
      	(expand_omp_taskloop_for_inner): Update.
      	* omp-simd-clone.c (simd_clone_adjust): Update.
      	* optabs.c (expand_doubleword_shift): Update.
      	(expand_abs): Update.
      	(emit_cmp_and_jump_insn_1): Update.
      	(expand_compare_and_swap_loop): Update.
      	* optabs.h (emit_cmp_and_jump_insns): Update prototype.
      	* predict.c (predictable_edge_p): Update.
      	(edge_probability_reliable_p): Update.
      	(set_even_probabilities): Update.
      	(combine_predictions_for_insn): Update.
      	(combine_predictions_for_bb): Update.
      	(propagate_freq): Update.
      	(estimate_bb_frequencies): Update.
      	(force_edge_cold): Update.
      	* profile-count.c (profile_count::dump): Add missing space into dump.
      	(profile_count::debug): Add newline.
      	(profile_count::differs_from_p): Explicitly convert to unsigned.
      	(profile_count::stream_in): Update.
      	(profile_probability::dump): New member function.
      	(profile_probability::debug): New member function.
      	(profile_probability::differs_from_p): New member function.
      	(profile_probability::differs_lot_from_p): New member function.
      	(profile_probability::stream_in): New member function.
      	(profile_probability::stream_out): New member function.
      	* profile-count.h (profile_count_quality): Rename to ...
      	(profile_quality): ... this one.
      	(profile_probability): New.
      	(profile_count): Update.
      	* profile.c (compute_branch_probabilities): Update.
      	* recog.c (peep2_attempt): Update.
      	* sched-ebb.c (schedule_ebbs): Update.
      	* sched-rgn.c (find_single_block_region): Update.
      	(compute_dom_prob_ps): Update.
      	(schedule_region): Update.
      	* sel-sched-ir.c (compute_succs_info): Update.
      	* stmt.c (struct case_node): Update.
      	(do_jump_if_equal): Update.
      	(get_outgoing_edge_probs): Update.
      	(conditional_probability): Update.
      	(emit_case_dispatch_table): Update.
      	(expand_case): Update.
      	(expand_sjlj_dispatch_table): Update.
      	(emit_case_nodes): Update.
      	* targhooks.c: Update.
      	* tracer.c (better_p): Update.
      	(find_best_successor): Update.
      	* trans-mem.c (expand_transaction): Update.
      	* tree-call-cdce.c: Update.
      	* tree-cfg.c (gimple_split_edge): Upate.
      	(move_sese_region_to_fn): Upate.
      	* tree-cfgcleanup.c (cleanup_control_expr_graph): Upate.
      	* tree-eh.c (lower_resx): Upate.
      	(cleanup_empty_eh_move_lp): Upate.
      	* tree-if-conv.c (version_loop_for_if_conversion): Update.
      	* tree-inline.c (copy_edges_for_bb): Update.
      	(copy_cfg_body): Update.
      	* tree-parloops.c (gen_parallel_loop): Update.
      	* tree-profile.c (gimple_gen_ic_func_profiler): Update.
      	(gimple_gen_time_profiler): Update.
      	* tree-ssa-dce.c (remove_dead_stmt): Update.
      	* tree-ssa-ifcombine.c (update_profile_after_ifcombine): Update.
      	* tree-ssa-loop-im.c (execute_sm_if_changed): Update.
      	* tree-ssa-loop-ivcanon.c (remove_exits_and_undefined_stmts): Update.
      	(unloop_loops): Update.
      	(try_peel_loop): Update.
      	* tree-ssa-loop-manip.c (tree_transform_and_unroll_loop): Update.
      	* tree-ssa-loop-split.c (connect_loops): Update.
      	(split_loop): Update.
      	* tree-ssa-loop-unswitch.c (tree_unswitch_loop): Update.
      	(hoist_guard): Update.
      	* tree-ssa-phionlycprop.c (propagate_rhs_into_lhs): Update.
      	* tree-ssa-phiopt.c (replace_phi_edge_with_variable): Update.
      	(value_replacement): Update.
      	* tree-ssa-reassoc.c (branch_fixup): Update.
      	* tree-ssa-tail-merge.c (replace_block_by): Update.
      	* tree-ssa-threadupdate.c (remove_ctrl_stmt_and_useless_edges): Update.
      	(create_edge_and_update_destination_phis): Update.
      	(compute_path_counts): Update.
      	(recompute_probabilities): Update.
      	(update_joiner_offpath_counts): Update.
      	(freqs_to_counts_path): Update.
      	(duplicate_thread_path): Update.
      	* tree-switch-conversion.c (hoist_edge_and_branch_if_true): Update.
      	(struct switch_conv_info): Update.
      	(gen_inbound_check): Update.
      	* tree-vect-loop-manip.c (slpeel_add_loop_guard): Update.
      	(vect_do_peeling): Update.
      	(vect_loop_versioning): Update.
      	* tree-vect-loop.c (scale_profile_for_vect_loop): Update.
      	(optimize_mask_stores): Update.
      	* ubsan.c (ubsan_expand_null_ifn): Update.
      	* value-prof.c (gimple_divmod_fixed_value): Update.
      	(gimple_divmod_fixed_value_transform): Update.
      	(gimple_mod_pow2): Update.
      	(gimple_mod_pow2_value_transform): Update.
      	(gimple_mod_subtract): Update.
      	(gimple_mod_subtract_transform): Update.
      	(gimple_ic): Update.
      	(gimple_stringop_fixed_value): Update.
      	(gimple_stringops_transform): Update.
      	* value-prof.h: Update.
      
      From-SVN: r249800
      Jan Hubicka committed
  35. 04 Jun, 2017 1 commit
    • i386.c (make_resolver_func): Update. · 3995f3a2
      2017-05-23  Jan Hubicka  <hubicka@ucw.cz>
      
      	* config/i386/i386.c (make_resolver_func): Update.
      	* Makefile.in: Add profile-count.h and profile-count.o
      	* auto-profile.c (afdo_indirect_call): Update to new API.
      	(afdo_set_bb_count): Update.
      	(afdo_propagate_edge): Update.
      	(afdo_propagate_circuit): Update.
      	(afdo_calculate_branch_prob): Update.
      	(afdo_annotate_cfg): Update.
      	* basic-block.h: Include profile-count.h
      	(struct edge_def): Turn count to profile_count.
      	(struct basic_block_def): Likewie.
      	(REG_BR_PROB_BASE): Move to profile-count.h
      	(RDIV): Move to profile-count.h
      	* bb-reorder.c (max_entry_count): Turn to profile_count.
      	(find_traces): Update.
      	(rotate_loop):Update.
      	(connect_traces):Update.
      	(sanitize_hot_paths):Update.
      	* bt-load.c (migrate_btr_defs): Update.
      	* cfg.c (RDIV): Remove.
      	(init_flow): Use alloc_block.
      	(alloc_block): Uninitialize count.
      	(unchecked_make_edge): Uninitialize count.
      	(check_bb_profile): Update.
      	(dump_edge_info): Update.
      	(dump_bb_info): Update.
      	(update_bb_profile_for_threading): Update.
      	(scale_bbs_frequencies_int): Update.
      	(scale_bbs_frequencies_gcov_type): Update.
      	(scale_bbs_frequencies_profile_count): New.
      	* cfg.h (update_bb_profile_for_threading): Update.
      	(scale_bbs_frequencies_profile_count): Declare.
      	* cfgbuild.c (compute_outgoing_frequencies): Update.
      	(find_many_sub_basic_blocks): Update.
      	* cfgcleanup.c (try_forward_edges): Update.
      	(try_crossjump_to_edge): Update.
      	* cfgexpand.c (expand_gimple_tailcall): Update.
      	(construct_exit_block): Update.
      	* cfghooks.c (verify_flow_info): Update.
      	(dump_bb_for_graph): Update.
      	(split_edge): Update.
      	(make_forwarder_block): Update.
      	(duplicate_block): Update.
      	(account_profile_record): Update.
      	* cfgloop.c (find_subloop_latch_edge_by_profile): Update.
      	(get_estimated_loop_iterations): Update.
      	* cfgloopanal.c (expected_loop_iterations_unbounded): Update.
      	(single_likely_exit): Update.
      	* cfgloopmanip.c (scale_loop_profile): Update.
      	(loopify): Update.
      	(set_zero_probability): Update.
      	(lv_adjust_loop_entry_edge): Update.
      	* cfgrtl.c (force_nonfallthru_and_redirect): Update.
      	(purge_dead_edges): Update.
      	(rtl_account_profile_record): Update.
      	* cgraph.c (cgraph_node::create): Uninitialize count.
      	(symbol_table::create_edge): Uninitialize count.
      	(cgraph_update_edges_for_call_stmt_node): Update.
      	(cgraph_edge::dump_edge_flags): Update.
      	(cgraph_node::dump): Update.
      	(cgraph_edge::maybe_hot_p): Update.
      	* cgraph.h: Include profile-count.h
      	(create_clone), create_edge, create_indirect_edge): Update.
      	(cgraph_node): Turn count to profile_count.
      	(cgraph_edge0: Likewise.
      	(make_speculative, clone): Update.
      	(create_edge): Update.
      	(init_lowered_empty_function): Update.
      	* cgraphclones.c (cgraph_edge::clone): Update.
      	(duplicate_thunk_for_node): Update.
      	(cgraph_node::create_clone): Update.
      	* cgraphunit.c (cgraph_node::analyze): Update.
      	(cgraph_node::expand_thunk): Update.
      	* final.c (dump_basic_block_info): Update.
      	* gimple-streamer-in.c (input_bb): Update.
      	* gimple-streamer-out.c (output_bb): Update.
      	* graphite.c (print_global_statistics): Update.
      	(print_graphite_scop_statistics): Update.
      	* hsa-brig.c: Include basic-block.h.
      	* hsa-dump.c: Include basic-block.h.
      	* hsa-gen.c (T sum_slice): Update.
      	(convert_switch_statements):Update.
      	* hsa-regalloc.c: Include basic-block.h.
      	* ipa-chkp.c (chkp_produce_thunks): Update.
      	* ipa-cp.c (struct caller_statistics): Update.
      	(init_caller_stats): Update.
      	(gather_caller_stats): Update.
      	(ipcp_cloning_candidate_p): Update.
      	(good_cloning_opportunity_p): Update.
      	(get_info_about_necessary_edges): Update.
      	(dump_profile_updates): Update.
      	(update_profiling_info): Update.
      	(update_specialized_profile): Update.
      	(perhaps_add_new_callers): Update.
      	(decide_about_value): Update.
      	(ipa_cp_c_finalize): Update.
      	* ipa-devirt.c (struct odr_type_warn_count): Update.
      	(struct decl_warn_count): Update.
      	(struct final_warning_record): Update.
      	(possible_polymorphic_call_targets): Update.
      	(ipa_devirt): Update.
      	* ipa-fnsummary.c (redirect_to_unreachable): Update.
      	* ipa-icf.c (sem_function::merge): Update.
      	* ipa-inline-analysis.c (do_estimate_edge_time): Update.
      	* ipa-inline.c (compute_uninlined_call_time): Update.
      	(compute_inlined_call_time): Update.
      	(want_inline_small_function_p): Update.
      	(want_inline_self_recursive_call_p): Update.
      	(edge_badness): Update.
      	(lookup_recursive_calls): Update.
      	(recursive_inlining): Update.
      	(inline_small_functions): Update.
      	(dump_overall_stats): Update.
      	(dump_inline_stats): Update.
      	* ipa-profile.c (ipa_profile_generate_summary): Update.
      	(ipa_propagate_frequency): Update.
      	(ipa_profile): Update.
      	* ipa-prop.c (ipa_make_edge_direct_to_target): Update.
      	* ipa-utils.c (ipa_merge_profiles): Update.
      	* loop-doloop.c (doloop_modify): Update.
      	* loop-unroll.c (report_unroll): Update.
      	(unroll_loop_runtime_iterations): Update.
      	* lto-cgraph.c (lto_output_edge): Update.
      	(lto_output_node): Update.
      	(input_node): Update.
      	(input_edge): Update.
      	(merge_profile_summaries): Update.
      	* lto-streamer-in.c (input_cfg): Update.
      	* lto-streamer-out.c (output_cfg): Update.
      	* mcf.c (create_fixup_graph): Update.
      	(adjust_cfg_counts): Update.
      	(sum_edge_counts): Update.
      	* modulo-sched.c (sms_schedule): Update.
      	* postreload-gcse.c (eliminate_partially_redundant_load): Update.
      	* predict.c (maybe_hot_count_p): Update.
      	(probably_never_executed): Update.
      	(dump_prediction): Update.
      	(combine_predictions_for_bb): Update.
      	(propagate_freq): Update.
      	(handle_missing_profiles): Update.
      	(counts_to_freqs): Update.
      	(rebuild_frequencies): Update.
      	(force_edge_cold): Update.
      	* predict.h: Include profile-count.h
      	(maybe_hot_count_p, counts_to_freqs): UPdate.
      	* print-rtl-function.c: Do not include cfg.h
      	* print-rtl.c: Include basic-block.h
      	* profile-count.c: New file.
      	* profile-count.h: New file.
      	* profile.c (is_edge_inconsistent): Update.
      	(correct_negative_edge_counts): Update.
      	(is_inconsistent): Update.
      	(set_bb_counts): Update.
      	(read_profile_edge_counts): Update.
      	(compute_frequency_overlap): Update.
      	(compute_branch_probabilities): Update; Initialize and deinitialize
      	gcov_count tables.
      	(branch_prob): Update.
      	* profile.h (bb_gcov_counts, edge_gcov_counts): New.
      	(edge_gcov_count): New.
      	(bb_gcov_count): New.
      	* shrink-wrap.c (try_shrink_wrapping): Update.
      	* tracer.c (better_p): Update.
      	* trans-mem.c (expand_transaction): Update.
      	(ipa_tm_insert_irr_call): Update.
      	(ipa_tm_insert_gettmclone_call): Update.
      	* tree-call-cdce.c: Update.
      	* tree-cfg.c (gimple_duplicate_sese_region): Update.
      	(gimple_duplicate_sese_tail): Update.
      	(gimple_account_profile_record): Update.
      	(execute_fixup_cfg): Update.
      	* tree-inline.c (copy_bb): Update.
      	(copy_edges_for_bb): Update.
      	(initialize_cfun): Update.
      	(freqs_to_counts): Update.
      	(copy_cfg_body): Update.
      	(expand_call_inline): Update.
      	* tree-ssa-ifcombine.c (update_profile_after_ifcombine): Update.
      	* tree-ssa-loop-ivcanon.c (unloop_loops): Update.
      	(try_unroll_loop_completely): Update.
      	(try_peel_loop): Update.
      	* tree-ssa-loop-manip.c (tree_transform_and_unroll_loop): Update.
      	* tree-ssa-loop-niter.c (estimate_numbers_of_iterations_loop): Update.
      	* tree-ssa-loop-split.c (connect_loops): Update.
      	* tree-ssa-loop-unswitch.c (hoist_guard): Update.
      	* tree-ssa-reassoc.c (branch_fixup): Update.
      	* tree-ssa-tail-merge.c (replace_block_by): Update.
      	* tree-ssa-threadupdate.c (create_block_for_threading): Update.
      	(compute_path_counts): Update.
      	(update_profile): Update.
      	(recompute_probabilities): Update.
      	(update_joiner_offpath_counts): Update.
      	(estimated_freqs_path): Update.
      	(freqs_to_counts_path): Update.
      	(clear_counts_path): Update.
      	(ssa_fix_duplicate_block_edges): Update.
      	(duplicate_thread_path): Update.
      	* tree-switch-conversion.c (case_bit_test_cmp): Update.
      	(struct switch_conv_info): Update.
      	* tree-tailcall.c (decrease_profile): Update.
      	* tree-vect-loop-manip.c (slpeel_add_loop_guard): Update.
      	* tree-vect-loop.c (scale_profile_for_vect_loop): Update.
      	* value-prof.c (check_counter): Update.
      	(gimple_divmod_fixed_value): Update.
      	(gimple_mod_pow2): Update.
      	(gimple_mod_subtract): Update.
      	(gimple_ic_transform): Update.
      	(gimple_stringop_fixed_value): Update.
      	* value-prof.h (gimple_ic): Update.
      
      	* gcc.dg/tree-ssa/attr-hotcold-2.c: Update template.
      
      From-SVN: r248863
      Jan Hubicka committed
  36. 23 May, 2017 3 commits
    • cgraphunit.c (symbol_table::process_new_functions): Update. · d2db2e6b
      	* cgraphunit.c (symbol_table::process_new_functions): Update.
      	* ipa-fnsummary.c (pass_data_inline_parameters): Remove.
      	(inline_generate_summary): Rename to ...
      	(ipa_fn_summary_generate): ... this one.
      	(inline_read_summary): Rename to ...
      	(ipa_fn_summary_read): ... this one.
      	(inline_write_summary): Rename to ...
      	(ipa_fn_summary_write): ... this one.
      	(inline_free_summary): Rename to ...
      	(ipa_free_fn_summary): ... this one.
      	(pass_data_local_fn_summary, pass_local_fn_summary,
      	make_pass_local_fn_summary, pass_data_ipa_free_fn_summary,
      	pass_ipa_free_fn_summary, make_pass_ipa_free_fn_summary,
      	pass_data_ipa_fn_summary, pass_ipa_fn_summary,
      	make_pass_ipa_fn_summary): New.
      	* ipa-fnsummary.h (inline_generate_summary, inline_read_summary,
      	inline_write_summary, inline_free_summary): Remove.
      	(ipa_free_fn_summary) : New.
      	* ipa-inline.c (ipa_inline): Update.
      	(pass_ipa_inline): Do not generate summaries.
      	* ipa.c (pass_data_ipa_free_fn_summary, pass_ipa_free_fn_summary):
      	Remove.
      	* passes.def: Replace pass_inline_parameters by pass_local_fn_summary
      	and add pass_ipa_fn_summary.
      	* tree-pass.h (make_pass_ipa_fn_summary, make_pass_local_fn_summary):
      	New.
      	(make_pass_inline_parameters): Remove.
      
      	* lto.c (do_whole_program_analysis): Replace inline_free_summary
      	by ipa_free_fn_summary.
      
      	* gcc.dg/ipa/ctor-empty-1.c: Update template.
      	* gcc.dg/ipa/inline-5.c: Likewise.
      	* gfortran.dg/pr48636.f90: Likewise.
      
      From-SVN: r248375
      Jan Hubicka committed
    • Move symtab_node::dump_table to symbol_table::dump · 6c52831d
      2017-05-23  Martin Liska  <mliska@suse.cz>
      
      	* cgraph.h: Move symtab_node::dump_table to symbol_table::dump
      	and symtab_node::debug_symtab to symbol_table::debug.
      	* cgraphunit.c (analyze_functions): Use the renamed function.
      	(symbol_table::compile): Likewise.
      	* ipa-cp.c (ipcp_verify_propagated_values): Likewise.
      	* ipa-icf.c (sem_item_optimizer::execute): Likewise.
      	* passes.c (execute_todo): Likewise.
      	* symtab.c (symbol_table::dump): New function.
      	* tree-ssa-structalias.c (ipa_pta_execute): Use the renamed function.
      2017-05-23  Martin Liska  <mliska@suse.cz>
      
      	* lto.c (read_cgraph_and_symbols): Use the renamed function.
      	(do_whole_program_analysis): Use the renamed function.
      
      From-SVN: r248368
      Martin Liska committed
    • ipa-inline-analysis.c (cgraph_2edge_hook_list, [...]): Remove. · 0bceb671
      	* ipa-inline-analysis.c (cgraph_2edge_hook_list, cgraph_edge_hook_list,
      	inline_edge_removal_hook, inline_edge_duplication_hook): Remove.
      	(inline_edge_summary_vec): Turn into ...
      	(ipa_call_summaries): ... this one.
      	(redirect_to_unreachable, edge_set_predicate,
      	evaluate_properties_for_edge, inline_summary_alloc,
      	reset_ipa_call_summary, reset_inline_summary,
      	inline_summary_t::duplicate): Update.
      	(inline_edge_duplication_hook): Turn to ...
      	(ipa_call_summary_t::duplicate): ... this one.
      	(inline_edge_removal_hook): Turn to ...
      	(ipa_call_summary_t::remove): ... this one.
      	(dump_inline_edge_summary): Turn to ...
      	(dump_ipa_call_summary): ... this one.
      	(estimate_function_body_sizes): Update.
      	(inline_update_callee_summaries): Update.
      	(remap_edge_change_prob): Update.
      	(remap_edge_summaries): Update.
      	(inline_merge_summary): Update.
      	(do_estimate_edge_time): Update.
      	(inline_generate_summary): Update.
      	(inline_read_section): Update.
      	(inline_read_summary): Update.
      	(inline_free_summary): Update.
      	* ipa-inline.c (can_inline_edge_p): Update.
      	(compute_inlined_call_time): Update.
      	(want_inline_small_function_p): Update.
      	(edge_badness): Update.
      	(early_inliner): Update.
      	* ipa-inline.h (inline_edge_summary): Turn to ...
      	(ipa_call_summary): ... this one.
      	(ipa_call_summary_t): New class.
      	(inline_edge_summary_t, inline_edge_summary_vec): Remove.
      	(ipa_call_summaries): New.
      	(inline_edge_summary): Remove.
      	(estimate_edge_growth): Update.
      	* ipa-profile.c (ipa_propagate_frequency_1): Update.
      	* ipa-prop.c (ipa_make_edge_direct_to_target): Update.
      	* ipa-split.c (execute_split_functions): Update.
      	* ipa.c (symbol_table::remove_unreachable_nodes): Update.
      
      From-SVN: r248365
      Jan Hubicka committed
  37. 22 May, 2017 1 commit
    • Makefile.in: Add ipa-fnsummary.o and ipa-fnsummary.h · 27d020cf
      	* Makefile.in: Add ipa-fnsummary.o and ipa-fnsummary.h
      	* auto-profile.c: Replace ipa-inline.h by ipa-fnsummary.h
      	* cgraph.c: Likewise.
      	* cgraphunit.c: Likewise.
      	* gengtype.c: Likewise.
      	* ipa-cp.c: Likewise.
      	* ipa-devirt.c: Likewise.
      	* ipa-icf.c: Likewise.
      	* ipa-predicate.c: Likewise.
      	* ipa-profile.c: Likewise.
      	* ipa-prop.c: Likewise.
      	* ipa-split.c: Likewise.
      	* ipa.c: Likewise.
      	* ipa-inline-analysis.c (inline_summaries, ipa_call_summaries,
      	edge_predicate_pool, dump_inline_hints,
      	inline_summary::account_size_time, redirect_to_unreachable,
      	edge_set_predicate, set_hint_predicate,
      	evaluate_conditions_for_known_args, evaluate_properties_for_edge,
      	inline_summary_alloc, ipa_call_summary::reset, inline_summary::reset,
      	inline_summary_t::remove, remap_hint_predicate_after_duplication,
      	inline_summary_t::duplicate, ipa_call_summary_t::duplicate,
      	ipa_call_summary_t::remove, initialize_growth_caches,
      	free_growth_caches, dump_ipa_call_summary, dump_inline_summary,
      	debug_inline_summary, dump_inline_summaries, initialize_inline_failed,
      	mark_modified, unmodified_parm_1, unmodified_parm,
      	unmodified_parm_or_parm_agg_item, eliminated_by_inlining_prob,
      	set_cond_stmt_execution_predicate, set_switch_stmt_execution_predicate,
      	compute_bb_predicates, will_be_nonconstant_expr_predicate,
      	will_be_nonconstant_predicate, record_modified_bb_info,
      	get_minimal_bb, record_modified, param_change_prob,
      	phi_result_unknown_predicate, predicate_for_phi_result,
      	array_index_predicate, clobber_only_eh_bb_p, fp_expression_p,
      	estimate_function_body_sizes, compute_inline_parameters,
      	compute_inline_parameters_for_curren, pass_data_inline_parameters,
      	estimate_node_size_and_time, estimate_ipcp_clone_size_and_time,
      	inline_update_callee_summaries, remap_edge_change_prob,
      	remap_edge_summaries, remap_hint_predicate, inline_merge_summary,
      	inline_update_overall_summary, inline_indirect_intraprocedural_analysis,
      	inline_analyze_function, inline_summary_t::insert,
      	inline_generate_summary, read_ipa_call_summary, inline_read_section,
      	inline_read_summary, write_ipa_call_summary, inline_write_summary,
      	inline_free_summary): Move to ipa-fnsummary.h
      	(predicate_t): Remove.
      	* ipa-fnsummary.c: New file.
      	* ipa-inline.h:  Do not include sreal.h and ipa-predicate.h
      	(enum inline_hints_vals, inline_hints, agg_position_info,
      	INLINE_SIZE_SCALE, size_time_entry, inline_summary, inline_summary_t,
      	inline_summaries, ipa_call_summary, ipa_call_summary_t,
      	ipa_call_summaries, debug_inline_summary, dump_inline_summaries,
      	dump_inline_summary, dump_inline_hints, inline_generate_summary,
      	inline_read_summary, inline_write_summary, inline_free_summary,
      	inline_analyze_function, initialize_inline_failed,
      	inline_merge_summary, inline_update_overall_summary,
      	compute_inline_parameters): Move to ipa-fnsummary.h
      	* ipa-fnsummary.h: New file.
      	* ipa-inline-transform.h: Include ipa-inline.h.
      	* ipa-inline.c: LIkewise.
      
      	* lto.c: Replace ipa-inline.h by ipa-fnsummary.h
      	* lto-partition.c: Replace ipa-inline.h by ipa-fnsummary.h
      
      From-SVN: r248336
      Jan Hubicka committed
  38. 03 Apr, 2017 1 commit
    • Fix numerous typos in comments · 5764ee3c
      gcc:
      
      	* alias.c (base_alias_check): Fix typo in comment.
      	* cgraph.h (class ipa_polymorphic_call_context): Likewise.
      	* cgraphunit.c (symbol_table::compile): Likewise.
      	* collect2.c (maybe_run_lto_and_relink): Likewise.
      	* config/arm/arm.c (arm_thumb1_mi_thunk): Likewise.
      	* config/avr/avr-arch.h (avr_arch_info_t): Likewise.
      	* config/avr/avr.c (avr_map_op_t): Likewise.
      	* config/cr16/cr16.h (DATA_ALIGNMENT): Likewise.
      	* config/epiphany/epiphany.c (TARGET_ARG_PARTIAL_BYTES): Likewise.
      	* config/epiphany/epiphany.md (movcc): Likewise.
      	* config/i386/i386.c (legitimize_pe_coff_extern_decl): Likewise.
      	* config/m68k/m68k.c (struct _sched_ib, m68k_sched_variable_issue):
      	Likewise.
      	* config/mips/mips.c (mips_save_restore_reg): Likewise.
      	* config/rx/rx.c (rx_is_restricted_memory_address): Likewise.
      	* config/s390/s390.c (Z10_EARLYLOAD_DISTANCE): Likewise.
      	* config/sh/sh.c (sh_rtx_costs): Likewise.
      	* fold-const.c (fold_truth_andor): Likewise.
      	* genautomata.c (collapse_flag): Likewise.
      	* gengtype.h (struct type::u::s): Likewise.
      	* gensupport.c (has_subst_attribute, add_mnemonic_string): Likewise.
      	* input.c (FORMAT_AMOUNT): Likewise.
      	* ipa-cp.c (class ipcp_lattice, agg_replacements_to_vector)
      	(known_aggs_to_agg_replacement_list): Likewise.
      	* ipa-inline-analysis.c: Likewise.
      	* ipa-inline.h (estimate_edge_time, estimate_edge_hints): Likewise.
      	* ipa-polymorphic-call.c
      	(ipa_polymorphic_call_context::restrict_to_inner_class): Likewise.
      	* loop-unroll.c (analyze_insn_to_expand_var): Likewise.
      	* lra.c (lra_optional_reload_pseudos, lra_subreg_reload_pseudos):
      	Likewise.
      	* modulo-sched.c (apply_reg_moves): Likewise.
      	* omp-expand.c (build_omp_regions_1): Likewise.
      	* trans-mem.c (struct tm_wrapper_hasher): Likewise.
      	* tree-ssa-loop-ivopts.c (may_eliminate_iv): Likewise.
      	* tree-ssa-loop-niter.c (maybe_lower_iteration_bound): Likewise.
      	* tree-vect-data-refs.c (vect_enhance_data_refs_alignment): Likewise.
      	* value-prof.c: Likewise.
      	* var-tracking.c (val_reset): Likewise.
      
      gcc/ada:
      
      	* doc/gnat_ugn/gnat_and_program_execution.rst: Fix typo.
      	* g-socket.adb (To_Host_Entry): Fix typo in comment.
      	* gnat_ugn.texi: Fix typo.
      	* raise.c (_gnat_builtin_longjmp): Fix capitalization in comment.
      	* s-stposu.adb (Allocate_Any_Controlled): Fix typo in comment.
      	* sem_ch3.adb (Build_Derived_Record_Type): Likewise.
      	* sem_util.adb (Mark_Coextensions): Likewise.
      	* sem_util.ads (Available_Full_View_Of_Component): Likewise.
      
      gcc/c:
      
      	* c-array-notation.c: Fix typo in comment.
      
      gcc/c-family:
      
      	* c-warn.c (do_warn_double_promotion): Fix typo in comment.
      
      gcc/cp:
      
              * class.c (update_vtable_entry_for_fn): Fix typo in comment.
      	* decl2.c (one_static_initialization_or_destruction): Likewise.
      	* name-lookup.c (store_bindings): Likewise.
      	* parser.c (make_call_declarator): Likewise.
      	* pt.c (check_explicit_specialization): Likewise.
      
      gcc/testsuite:
      
      	* g++.old-deja/g++.benjamin/scope02.C: Fix typo in comment.
      	* gcc.dg/20031012-1.c: Likewise.
      	* gcc.dg/ipa/ipcp-1.c: Likewise.
      	* gcc.dg/torture/matrix-3.c: Likewise.
      	* gcc.target/powerpc/ppc-spe.c: Likewise.
      	* gcc.target/rx/zero-width-bitfield.c: Likewise.
      
      libcpp:
      
      	* include/line-map.h (LINEMAPS_MACRO_MAPS): Fix typo in comment.
      	* lex.c (search_line_fast): Likewise.
      	* pch.h (cpp_valid_state): Likewise.
      
      libdecnumber:
      
      	* decCommon.c (decFloatFromPackedChecked): Fix typo in comment.
      	* decNumber.c (decNumberPower, decMultiplyOp): Likewise.
      
      libgcc:
      
      	* config/c6x/pr-support.c (__gnu_unwind_execute): Fix typo in comment.
      
      libitm:
      
      	* libitm_i.h (sutrct gtm_thread): Fix typo in comment.
      
      From-SVN: r246664
      Jonathan Wakely committed