1. 13 Nov, 2017 16 commits
    • Remove the null check from placement new in all modes · 8f2b097e
      gcc/cp/
      
      Remove the null check from placement new in all modes
      * init.c (build_new_1): Don't do a null check for
      a namespace-scope non-replaceable placement new
      in any mode unless -fcheck-new is provided.
      
      testsuite/
      
      Remove the null check from placement new in all modes
      * g++.dg/init/pr35878_1.C: Adjust.
      * g++.dg/init/pr35878_4.C: New.
      * g++.dg/torture/pr48695.C: Adjust.
      * g++.dg/tree-ssa/pr31146-2.C: Likewise.
      * g++.dg/tree-ssa/pr41428.C: Adjust.
      
      From-SVN: r254694
      Ville Voutilainen committed
    • [ARM] Fix more -Wreturn-type fallout (gcc.target/arm/pr67989.C). · 81766d13
      2017-11-13  Christophe Lyon  <christophe.lyon@linaro.org>
      
      	* gcc.target/arm/pr67989.C: Add -Wno-return-type to
      	dg-additional-options.
      
      From-SVN: r254692
      Christophe Lyon committed
    • [Diagnostic Patch] don't print column zero · 101e910b
      https://gcc.gnu.org/ml/gcc-patches/2017-10/msg01911.html
      	* diagnostic.c (maybe_line_and_column): New.
      	(diagnostic_get_location_text): Use it.
      	(diagnostic_report_current_module): Likewise.
      	(test_diagnostic_get_location_text): Add tests.
      
      	* lib/gcc-dg.exp (process-message): Use -: for no column.
      	* c-c++-common/cilk-plus/CK/cilk_for_grain_errors.c: Mark elided
      	column messages.
      	* c-c++-common/cpp/pr58844-1.c: Likewise.
      	* c-c++-common/cpp/pr58844-2.c: Likewise.
      	* c-c++-common/cpp/warning-zero-location.c: Likewise.
      	* g++.dg/diagnostic/pr77949.C: Likewise.
      	* g++.dg/gomp/macro-4.C: Likewise.
      	* gcc.dg/Wunknownprag.c: Likewise.
      	* gcc.dg/builtin-redefine.c: Likewise.
      	* gcc.dg/cpp/Wunknown-pragmas-1.c: Likewise.
      	* gcc.dg/cpp/Wunused.c: Likewise.
      	* gcc.dg/cpp/misspelled-directive-1.c: Likewise.
      	* gcc.dg/cpp/redef2.c: Likewise.
      	* gcc.dg/cpp/redef3.c: Likewise.
      	* gcc.dg/cpp/redef4.c: Likewise.
      	* gcc.dg/cpp/trad/Wunused.c: Likewise.
      	* gcc.dg/cpp/trad/argcount.c: Likewise.
      	* gcc.dg/cpp/trad/comment-3.c: Likewise.
      	* gcc.dg/cpp/trad/comment.c: Likewise.
      	* gcc.dg/cpp/trad/defined.c: Likewise.
      	* gcc.dg/cpp/trad/directive.c: Likewise.
      	* gcc.dg/cpp/trad/funlike-3.c: Likewise.
      	* gcc.dg/cpp/trad/funlike.c: Likewise.
      	* gcc.dg/cpp/trad/literals-2.c: Likewise.
      	* gcc.dg/cpp/trad/macro.c: Likewise.
      	* gcc.dg/cpp/trad/pr65238-4.c: Likewise.
      	* gcc.dg/cpp/trad/recurse-1.c: Likewise.
      	* gcc.dg/cpp/trad/recurse-2.c: Likewise.
      	* gcc.dg/cpp/trad/redef2.c: Likewise.
      	* gcc.dg/cpp/ucnid-11.c: Likewise.
      	* gcc.dg/cpp/unc1.c: Likewise.
      	* gcc.dg/cpp/unc2.c: Likewise.
      	* gcc.dg/cpp/unc3.c: Likewise.
      	* gcc.dg/cpp/unc4.c: Likewise.
      	* gcc.dg/cpp/undef2.c: Likewise.
      	* gcc.dg/cpp/warn-redefined-2.c: Likewise.
      	* gcc.dg/cpp/warn-redefined.c: Likewise.
      	* gcc.dg/cpp/warn-unused-macros-2.c: Likewise.
      	* gcc.dg/cpp/warn-unused-macros.c: Likewise.
      	* gcc.dg/empty-source-2.c: Likewise.
      	* gcc.dg/empty-source-3.c: Likewise.
      	* gcc.dg/gomp/macro-4.c: Likewise.
      	* gcc.dg/noncompile/pr35447-1.c: Likewise.
      	* gcc.dg/plugin/location-overflow-test-1.c: Likewise.
      	* gcc.dg/pr20245-1.c: Likewise.
      	* gcc.dg/pr28419.c: Likewise.
      	* gcc.dg/rtl/truncated-rtl-file.c: Likewise.
      	* gcc.dg/unclosed-init.c: Likewise.
      
      From-SVN: r254691
      Nathan Sidwell committed
    • ieee_8.f90: xfail for aarch64*-*-gnu* · 7ccdf51f
      gcc/testsuite/ChangeLog:
      
      2017-11-13  Charles Baylis  <charles.baylis@linaro.org>
      
              * gfortran.dg/ieee/ieee_8.f90: xfail for aarch64*-*-gnu*
      
      From-SVN: r254689
      Charles Baylis committed
    • [Documentation] Fix latency in pipeline description example · 793e17f9
      	2017-11-09  Luis Machado  <luis.machado@linaro.org>
      
      	gcc/
      	* doc/md.texi (Specifying processor pipeline description): Fix
      	incorrect latency for the div instruction example.
      
      From-SVN: r254680
      Luis Machado committed
    • re PR tree-optimization/78821 (GCC7: Copying whole 32 bits structure field by… · a6fbd154
      re PR tree-optimization/78821 (GCC7: Copying whole 32 bits structure field by field not optimised into copying whole 32 bits at once)
      
      	PR tree-optimization/78821
      	* gimple-ssa-store-merging.c (compatible_load_p): Don't require
      	that bit_not_p is the same.
      	(imm_store_chain_info::coalesce_immediate_stores): Likewise.
      	(split_group): Count precisely bit_not_p bits in each statement.
      	(invert_op): New function.
      	(imm_store_chain_info::output_merged_store): Use invert_op to
      	emit BIT_XOR_EXPR with a xor_mask instead of BIT_NOT_EXPR if some
      	but not all orig_stores have BIT_NOT_EXPR in the corresponding spots.
      
      	* gcc.dg/store_merging_15.c: New test.
      
      From-SVN: r254679
      Jakub Jelinek committed
    • GCOV: remove typedef of coverage_t. · a1b5dd18
      2017-11-13  Martin Liska  <mliska@suse.cz>
      
      	* gcov.c (struct coverage_info): Remove typedef of coverage_t.
      	(struct source_info): Likewise.
      	(add_branch_counts): Likewise.
      	(add_line_counts): Likewise.
      	(function_summary): Likewise.
      	(output_intermediate_line): Likewise.
      	(generate_results): Likewise.
      
      From-SVN: r254678
      Martin Liska committed
    • GCOV: remove typedef for block_t · bea002e9
      2017-11-13  Martin Liska  <mliska@suse.cz>
      
      	* gcov.c (struct block_info): Remove typedef for block_t.
      	(struct line_info): Likewise.
      	(line_info::has_block): Likewise.
      	(EXIT_BLOCK): Likewise.
      	(unblock): Likewise.
      	(circuit): Likewise.
      	(get_cycles_count): Likewise.
      	(process_file): Likewise.
      	(read_graph_file): Likewise.
      	(solve_flow_graph): Likewise.
      	(find_exception_blocks): Likewise.
      	(add_line_counts): Likewise.
      	(accumulate_line_info): Likewise.
      	(output_line_details): Likewise.
      
      From-SVN: r254677
      Martin Liska committed
    • GCOV: remove typedef for arc_t · 232c80f2
      2017-11-13  Martin Liska  <mliska@suse.cz>
      
      	* gcov.c (struct arc_info): Remove typedef for arc_t.
      	(struct line_info): Likewise.
      	(add_branch_counts): Likewise.
      	(output_branch_count): Likewise.
      	(function_info::~function_info): Likewise.
      	(circuit): Likewise.
      	(output_intermediate_line): Likewise.
      	(read_graph_file): Likewise.
      	(solve_flow_graph): Likewise.
      	(find_exception_blocks): Likewise.
      	(add_line_counts): Likewise.
      	(accumulate_line_info): Likewise.
      	(output_line_details): Likewise.
      	(output_function_details): Likewise.
      
      From-SVN: r254676
      Martin Liska committed
    • GCOV: remove typedef for function_t · cb8758b2
      2017-11-13  Martin Liska  <mliska@suse.cz>
      
      	* gcov.c (struct function_info): Remove typedef for function_t.
      	(struct source_info): Likewise.
      	(source_info::get_functions_at_location): Likewise.
      	(solve_flow_graph): Likewise.
      	(find_exception_blocks): Likewise.
      	(add_line_counts): Likewise.
      	(output_intermediate_file): Likewise.
      	(process_file): Likewise.
      	(generate_results): Likewise.
      	(release_structures): Likewise.
      	(read_graph_file): Likewise.
      	(read_count_file): Likewise.
      	(accumulate_line_counts): Likewise.
      	(output_lines): Likewise.
      
      From-SVN: r254675
      Martin Liska committed
    • GCOV: introduce vector for function_info::counts. · 4464b977
      2017-11-13  Martin Liska  <mliska@suse.cz>
      
      	* gcov.c (function_info::function_info): Remove num_counts
      	and add vector<gcov_type>.
      	(function_info::~function_info): Use the vector.
      	(process_file): Likewise.
      	(read_graph_file): Likewise.
      	(read_count_file): Likewise.
      	(solve_flow_graph): Likewise.
      
      From-SVN: r254674
      Martin Liska committed
    • GCOV: simplify usage of function_info::artificial. · 1e81a283
      2017-11-13  Martin Liska  <mliska@suse.cz>
      
      	* gcov.c (function_info::is_artificial): New function.
      	(process_file): Erase all artificial early.
      	(generate_results): Skip as all artificial are already
      	removed.
      
      From-SVN: r254673
      Martin Liska committed
    • GCOV: introduce global vector of functions · 211bea6b
      2017-11-13  Martin Liska  <mliska@suse.cz>
      
      	* gcov.c (read_graph_file): Store to global vector of functions.
      	(read_count_file): Iterate the vector.
      	(process_file): Likewise.
      	(generate_results): Likewise.
      	(release_structures): Likewise.
      
      From-SVN: r254672
      Martin Liska committed
    • re PR tree-optimization/82954 (ICE in fold_binary_loc, at fold-const.c:9061) · 5bfd2f9b
      	PR tree-optimization/82954
      	* gimple-ssa-store-merging.c
      	(imm_store_chain_info::coalesce_immediate_stores): If
      	!infof->ops[N].base_addr, split group if info->ops[N].base_addr.
      
      	* gcc.c-torture/execute/pr82954.c: New test.
      
      From-SVN: r254671
      Jakub Jelinek committed
    • [AArch64] More aarch64_endian_lane_rtx · 441b4d0f
      r254466 failed to update some uses of ENDIAN_LANE_N that were added after
      the patch was initially written, which meant that we were treating the
      mode number as an element count.
      
      2017-11-13  Richard Sandiford  <richard.sandiford@linaro.org>
      
      gcc/
      	* config/aarch64/aarch64-simd.md (aarch64_store_lane0<mode>):
      	Upddate call to ENDIAN_LANE_N.
      	(aarch64_<sur>dot_lane<vsi2qi>): Use aarch64_endian_lane_rtx.
      	(aarch64_<sur>dot_laneq<vsi2qi>): Likewise.
      	(*aarch64_simd_vec_copy_lane<mode>): Update calls to ENDIAN_LANE_N
      	and use aarch64_endian_lane_rtx.
      	(*aarch64_simd_vec_copy_lane_<vswap_width_name><mode>): Likewise.
      
      From-SVN: r254670
      Richard Sandiford committed
    • Daily bump. · 41a0d8d4
      From-SVN: r254669
      GCC Administrator committed
  2. 12 Nov, 2017 4 commits
  3. 11 Nov, 2017 12 commits
  4. 10 Nov, 2017 8 commits
    • rs6000.md (bswaphi2_reg): On ISA 3.0 systems, enable generating XXBRH if the… · 4f58c0d1
      rs6000.md (bswaphi2_reg): On ISA 3.0 systems, enable generating XXBRH if the value is in a vector register.
      
      [gcc]
      2017-11-10  Michael Meissner  <meissner@linux.vnet.ibm.com>
      
      	* config/rs6000/rs6000.md (bswaphi2_reg): On ISA 3.0 systems,
      	enable generating XXBRH if the value is in a vector register.
      	(bswapsi2_reg): On ISA 3.0 systems, enable generating XXBRW if the
      	value is in a vector register.
      	(bswapdi2_reg): On ISA 3.0 systems, always use XXBRD to do
      	register to register bswap64's instead of doing the GPR sequence
      	used on previous machines.
      	(bswapdi2_xxbrd): New insn.
      	(bswapdi2_reg): Disallow on ISA 3.0.
      	(register to register bswap64 splitter): Do not split the insn on
      	ISA 3.0 systems that use XXBRD.
      
      [gcc/testsuite]
      2017-11-10  Michael Meissner  <meissner@linux.vnet.ibm.com>
      
      	* gcc.target/powerpc/p9-xxbr-3.c: New test.
      
      From-SVN: r254643
      Michael Meissner committed
    • Fix my last ChangeLog entry · d72b0a3f
      From-SVN: r254642
      Jeff Law committed
    • re PR c/81117 (Improve buffer overflow checking in strncpy) · 6e718159
      
      gcc/ChangeLog:
      
      	PR c/81117
      	* config/darwin-c.c (framework_construct_pathname): Replace strncpy
      	with memcpy.
      	(find_subframework_file): Same.
      
      From-SVN: r254641
      Martin Sebor committed
    • Add plugin API for processing plugin-added input files. · f382ac6d
      Gold plugins may wish to further process an input file added by a plugin. For
      example, the plugin may need to assign a unique segment for sections in a
      plugin-generated input file. This patch adds a plugin callback that the linker
      will call when reading symbols from a new input file added after the
      all_symbols_read event (i.e. an input file added by a plugin).
      
      2017-11-10  Stephen Crane <sjc@immunant.com>
      
      	* plugin-api.h: Add plugin API for processing plugin-added
      	input files.
      
      From-SVN: r254640
      Stephen Crane committed
    • vr-values.h (VR_INITIALIZER): Move #define here. · 16207ddd
      	* vr-values.h (VR_INITIALIZER): Move #define here.
      	* gimple-ssa-evrp.c: New file with contents extracted from tree-vrp.c
      	* Makefile.in (OBJS): Add tree-evrp.o
      	* tree-vrp.h (assert_info): Move structure definition here.
      	(set_value_range_to_varying): Prototype.
      	(vrp_operand_equal_p, range_includes_zero_p): Likewise.
      	(infer_value_range, register_edge_assert_for): Likewise.
      	(stmt_interesting_for_vrp): Likewise.
      	* tree-vrp.c: Move all methods for evrp class into tree-evrp.c.
      	(set_value_range_to_varying): No longer static.
      	(vrp_operand_equal_p, range_includes_zero_p): Likewise.
      	(infer_value_range, register_edge_assert_for): Likewise.
      
      From-SVN: r254639
      Jeff Law committed
    • PR libstdc++/82917 add missing returns in <fstream> · 54df5885
      	PR libstdc++/82917
      	* include/std/fstream (basic_ifstream::open, basic_ofstream::open)
      	(basic_fstream::open): Fix missing return.
      
      From-SVN: r254638
      Jonathan Wakely committed
    • 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
    • force-indirect-call-1.c: Merge scan strings. · a0e6ac44
      	* gcc.target/i386/force-indirect-call-1.c: Merge scan strings.
      	* gcc.target/i386/force-indirect-call-2.c: Ditto.
      	Require fpic effective target.
      	* gcc.target/i386/force-indirect-call-3.c: Ditto.
      	Require lp64 effective target.
      
      From-SVN: r254635
      Uros Bizjak committed